相关疑难解决方法(0)

使用node.js/express自动进行HTTPS连接/重定向

我一直在努力通过我正在开发的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);
Run Code Online (Sandbox Code Playgroud)

现在,当我这样做

curl -k https://localhost:8000/
Run Code Online (Sandbox Code Playgroud)

我明白了

hello world
Run Code Online (Sandbox Code Playgroud)

正如所料.但如果我这样做

curl -k http://localhost:8000/
Run Code Online (Sandbox Code Playgroud)

我明白了

curl: (52) Empty reply from server
Run Code Online (Sandbox Code Playgroud)

回想起来,这似乎很明显,它会以这种方式工作,但与此同时,最终访问我的项目的人不会输入https:// yadayada,我希望从他们点击的那一刻起所有流量都是https网站.

我怎样才能将所有传入流量传递给https的节点(以及我正在使用的Express),无论是否指定了它?我找不到任何解决此问题的文档.或者只是假设在生产环境中,节点有一些位于它前面的东西(例如nginx)来处理这种重定向?

这是我第一次涉足网络开发,所以如果这是显而易见的事情,请原谅我的无知.

https node.js express

159
推荐指数
12
解决办法
16万
查看次数

标签 统计

express ×1

https ×1

node.js ×1