작업중 인 node.js 프로젝트로 HTTPS를 설정하려고했습니다. 필자는 이 예제 에서 본질적으로 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가되기를 바랍니다. 사이트.
모든 수신 트래픽을 지정했는지 여부에 관계없이 모든 들어오는 트래픽을 https로 전달하기 위해 노드 (및 사용중인 프레임 워크이므로 Express)를 얻는 방법은 무엇입니까? 이 문제를 해결 한 문서를 찾을 수 없습니다. 또는 프로덕션 환경에서 노드가 이런 종류의 리디렉션을 처리하는 노드 (예 : nginx) 앞에있는 것으로 가정합니까?
이것은 웹 개발에 대한 첫 번째 길이므로, 이것이 분명하다면 내 무지를 용서하십시오.