Ich habe versucht, HTTPS mit einem node.js-Projekt einzurichten, an dem ich arbeite. Ich habe im Wesentlichen die Dokumentation zu node.js für dieses Beispiel befolgt :
// 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);
Nun, wenn ich es tue
curl -k https://localhost:8000/
Ich bekomme
hello world
wie erwartet. Aber wenn ich es mache
curl -k http://localhost:8000/
Ich bekomme
curl: (52) Empty reply from server
Rückblickend scheint dies offensichtlich, dass es auf diese Weise funktionieren würde, aber gleichzeitig werden Leute, die mein Projekt schließlich besuchen, nicht https : // yadayada eingeben, und ich möchte, dass der gesamte Datenverkehr von dem Moment an https ist, in dem sie eintreffen der Standort.
Wie kann ich den Knoten (und Express, da dies das Framework ist, das ich verwende) dazu bringen, den gesamten eingehenden Datenverkehr an https weiterzuleiten, unabhängig davon, ob er angegeben wurde oder nicht? Ich konnte keine Dokumentation finden, die sich damit befasst. Oder wird nur angenommen, dass in einer Produktionsumgebung ein Knoten etwas vor sich hat (z. B. Nginx), das diese Art der Umleitung handhabt?
Dies ist mein erster Ausflug in die Webentwicklung. Bitte verzeihen Sie meine Unwissenheit, wenn dies offensichtlich ist.