nodejs を使用して、http および https リクエストをログに記録する単純なプロキシ サーバーを作成していますが、https リクエストをログに記録できないようです (http リクエストは問題ありません)。
では、安全な接続を設定できるプロキシ サーバーを nodejs で作成するにはどうすればよいでしょうか。
これまでの私のコードは次のようになります
var http = require('http'),
httpProxy = require('http-proxy'),
util = require('util'),
url = require('url');
httpProxy.createServer(function (request, response, proxy) {
util.log(request.connection.remoteAddress + ": " +
request.method + " " +
request.url);
request.addListener('data', function(chunk) {
util.log("request: " + chunk);
});
uri = url.parse(request.url);
port = 80;
if (uri.protocol == 'https:') { // NEVER HAPPENS :(
port = 443;
}
util.log("port:" + port + " host:" + uri.host);
proxy.proxyRequest(port, uri.hostname);
}).listen(8080);
現在、https://github.com/nodejitsu/node-http-proxyプロキシ ライブラリを使用していますが、ライブラリが https をサポートしていない場合 (ソース コードのどこにも設定されていないため、atm をサポートしているようには見えません)任意の資格情報....)、それなしでプロキシ サーバーを書き直して喜んでいます。