Saya sudah mencoba mengatur HTTPS dengan proyek node.js yang sedang saya kerjakan. Saya pada dasarnya mengikuti dokumentasi node.js untuk contoh ini:
// 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);
Sekarang, ketika saya melakukannya
curl -k https://localhost:8000/
saya mendapat
hello world
seperti yang diharapkan. Tetapi jika saya lakukan
curl -k http://localhost:8000/
saya mendapat
curl: (52) Empty reply from server
Dalam retrospeksi, ini tampak jelas bahwa itu akan bekerja seperti ini, tetapi pada saat yang sama, orang-orang yang akhirnya mengunjungi proyek saya tidak akan mengetikkan https : // yadayada, dan saya ingin semua lalu lintas menjadi https dari saat mereka mencapai situs
Bagaimana saya bisa mendapatkan node (dan Express karena itu adalah kerangka yang saya gunakan) untuk menyerahkan semua lalu lintas masuk ke https, terlepas dari apakah itu ditentukan atau tidak? Saya belum dapat menemukan dokumentasi yang membahas hal ini. Atau hanya diasumsikan bahwa dalam lingkungan produksi, simpul memiliki sesuatu yang duduk di depannya (misalnya nginx) yang menangani pengalihan semacam ini?
Ini adalah perampokan pertama saya ke pengembangan web, jadi tolong maafkan ketidaktahuan saya jika ini sesuatu yang jelas.