Я пытаюсь настроить 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 с момента их попадания на сайт.
Как я могу получить node (и Express, поскольку это используемая инфраструктура), чтобы передать весь входящий трафик на https, независимо от того, была ли она указана или нет? Я не смог найти документацию, которая адресовала это. Или предполагается, что в рабочей среде node есть что-то, что находится перед ним (например, nginx), которое обрабатывает такой тип перенаправления?
Это мой первый набег на веб-разработку, поэтому, пожалуйста, простите мое невежество, если это что-то очевидное.