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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LetsEncrypted Node.js HTTPS Express无法从浏览器访问相关的知识,希望对你有一定的参考价值。

我按照本教程使用SSL保护nginxhttps://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无法从浏览器访问的主要内容,如果未能解决你的问题,请参考以下文章

Node.js相关

Node.js安装详细步骤教程(Windows版)

开源 Node.js(和 Express)项目 [关闭]

Node.js 承诺请求返回

Node.js 如何响应升级请求?

如何在 node.js 中处理 POST 请求