LetsEncrypted Node.js HTTPS Express无法从浏览器访问
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LetsEncrypted Node.js HTTPS Express无法从浏览器访问相关的知识,希望对你有一定的参考价值。
我按照本教程使用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
");
}).listen(8000);
该页面根本不会加载。我究竟做错了什么?
答案
请确认您的监听端口。 Nginx的默认端口是8080,根据你的代码,它会尝试收听8000。
另一答案
这是一个防火墙问题。
我忘了允许上述TCP端口。
以上是关于LetsEncrypted Node.js HTTPS Express无法从浏览器访问的主要内容,如果未能解决你的问题,请参考以下文章