LetsEncrypted Node.js HTTPS Express无法从浏览器访问

时间:2018-05-09 10:07:49

标签: node.js nginx https lets-encrypt

我在本教程后使用SSL保护NGINX:https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04

我明确选择将所有请求重定向到HTTPS

现在,在访问我的网页www.example.com时,它正确地将我重定向到https://www.example.com并显示默认的NGINX文字。

我希望Express能够在那里运行,所以我制作了这个小小的脚本来测试它们:

var https = require('https');
var fs = require('fs');

var options = {
  key: fs.readFileSync('/etc/letsencrypt/live/example.com/privkey.pem'),
  cert: fs.readFileSync('/etc/letsencrypt/live/example.com/cert.pem'),
  ca: fs.readFileSync('/etc/letsencrypt/live/example.com/chain.pem')
};

https.createServer(options, function (req, res) {
  res.writeHead(200);
  res.end("hello world\n");
}).listen(8000);

页面根本不会加载。我做错了什么?

2 个答案:

答案 0 :(得分:0)

请确认您的监听端口。 Nginx的默认端口是8080,根据你的代码,它会尝试收听8000.

答案 1 :(得分:0)

这是一个防火墙问题。

我忘了允许上面提到TCP的端口。