Я намагався налаштувати HTTPS з проектом node.js, над яким я працюю. Я по суті дотримувався документації 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), що обробляє такий вид перенаправлення?
Це мій перший набіг у розробці веб-сторінок, тому, будь ласка, пробачте моє незнання, якщо це щось очевидне.