Express を使用して node.js でリバース プロキシを作成しようとしていますが、http 要求に対しては正常に動作します。問題は、https を要求しても応答せず、プロキシが接続を拒否したとブラウザが示すことです。http リクエストの作業コードは次のとおりです。
var app = express(),
http=require('http');
app.configure(function(){ /* express stuff to log and use routes and the like */ });
http.createServer(app).listen(8000, function(){
console.log("Express server listening on port " + 8000);
});
app.all('*', proxy);
var request=require('request');
var proxy=function(req,resp){
var data={
url:req.url,
headers: {
'Connection': 'keep-alive'
}
}
var proxy=request(req.url);
proxy.pipe(resp);
}
今、SSLに関しては、私は現在試しています:
var https=require('https'),
fs=require('fs');
https.createServer({
key: fs.readFileSync(__dirname+'/ssl/server.key', 'utf8'),
cert: fs.readFileSync(__dirname+'/ssl/server.crt', 'utf8')
},app).listen(8001, function(){
console.log("Express server listening on port " + 8001);
});
50.56.195.215:8000
プロキシは、HTTP および50.56.195.215:8001
SSLを必要とするあらゆる場所から使用できます。セキュリティはまったくないので、重要なものにはログインしないでください = D
私は自己署名 SSL 証明書を使用していますが、そのようなことをしようとするのはちょっとばかげていると思いますが、アイデアが残っていません :P