作業中のnode.jsプロジェクトでHTTPSをセットアップしようとしています。この例では、基本的にnode.jsのドキュメントに従っています。
// curl -k https://localhost:8000/
var https = require('https');
var fs = require('fs');
var options = {
key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')
};
https.createServer(options, function (req, res) {
res.writeHead(200);
res.end("hello world\n");
}).listen(8000);
今、私がするとき
curl -k https://localhost:8000/
私は得る
hello world
予想通り。しかし、私がするなら
curl -k http://localhost:8000/
私は得る
curl: (52) Empty reply from server
振り返ってみると、これはこのように機能することは明らかですが、同時に、最終的に私のプロジェクトにアクセスする人はhttps:// yadayadaと入力しないため、ヒットした瞬間からすべてのトラフィックをhttpsにする必要がありますサイト。
ノード(および私が使用しているフレームワークであるExpress)が、指定されているかどうかに関係なく、すべての着信トラフィックをhttpsにハンドオフする方法を教えてください。これに対処したドキュメントは見つかりませんでした。それとも、実稼働環境では、ノードの前に何かがあり(nginxなど)、この種のリダイレクトを処理するものと想定されていますか?
これはWeb開発への私の最初の進出です。これが明らかなものである場合、私の無知を許してください。