J'ai essayé de configurer HTTPS avec un projet node.js sur lequel je travaille. J'ai essentiellement suivi la documentation de node.js pour cet exemple:
// 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);
Maintenant, quand je fais
curl -k https://localhost:8000/
Je reçois
hello world
comme prévu. Mais si je fais
curl -k http://localhost:8000/
Je reçois
curl: (52) Empty reply from server
Rétrospectivement, cela semble évident que cela fonctionnerait de cette façon, mais en même temps, les personnes qui finissent par visiter mon projet ne vont pas taper https : // yadayada, et je veux que tout le trafic soit https à partir du moment où ils arrivent. le site.
Comment puis-je obtenir node (et Express car c'est le framework que j'utilise) pour transférer tout le trafic entrant vers https, qu'il ait été spécifié ou non? Je n'ai pu trouver aucune documentation traitant de cela. Ou est-il simplement supposé que dans un environnement de production, un nœud a quelque chose devant lui (par exemple nginx) qui gère ce type de redirection?
C'est ma première incursion dans le développement Web, alors pardonnez mon ignorance si c'est quelque chose d'évident.