ฉันพยายามตั้งค่า 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) ที่จัดการการเปลี่ยนเส้นทางชนิดนี้
นี่คือการโจมตีครั้งแรกของฉันในการพัฒนาเว็บไซต์ดังนั้นโปรดให้อภัยความไม่รู้ของฉันหากนี่เป็นสิ่งที่ชัดเจน