Node.JS で HTTP/HTTPS プロキシ サーバーを作成しています。サーバーが HTTP と同じポートで HTTPS トラフィックを処理するようにしたいと考えています。
以下の画像は、なぜ私がこれをしたいのかを説明しています。ユーザーはボックスをチェックするだけです...
2 つのサーバーを同じポートでリッスンすることはできないと認識していますが、トラフィックを HTTP または HTTPS トラフィックに転送するメインサーバーをセットアップする方法はありますか?
このようなもの:
http.createServer(myHTTPCallback).listen(3129, '127.0.0.1');
https.createServer(myHTTPSCallback).listen(3130, '127.0.0.1');
//Then a main server that will listen for both kinds of traffic
main.createServer(function(req, res){
if(/*Traffic is HTTPS*/){
//Forward to 127.0.0.1:3130
}
else{
//Forward to 127.0.0.1:3129
}
}).listen(3128, '192.168.0.2');
上記をどのようにコーディングしますか?
EDIT - @Chris Jester-Youngの回答によると
この単純なサーバーを作成しましたが、HTTP 要求の出力しか受け取りません。また、ブレークポイントまたはコンソール ログはトレースしません。
var http = require('http');
http.createServer(function(req, res){
res.write('<h1>Resquest Received</h1>');
res.write('<span>Requested URL = ' + req.url + '</span>');
res.end();
}).listen(3128);