【发布时间】:2020-12-17 22:27:14
【问题描述】:
我已经下载了我从 app.zerossl.com 收到的 SSL 证书,并将它放在与我的主节点脚本相同的目录中;并已使用此代码进行安装。
var fs = require('fs');
let options = {
cert: fs.readFileSync(__dirname + '/certificate.crt'),
ca: fs.readFileSync(__dirname + '/ca_bundle.crt'),
key: fs.readFileSync(__dirname + '/private.key')
};
我运行服务器的配置如下:
var express = require('express');
var app = express();
var server = require('https').createServer(options, app);
var io = require('socket.io')(server);
现在我在 XAMPP 上运行 MYSQL 和 PHP,端口设置为 1337。在我的调制解调器中,我已将 DMZ 设置为我的计算机/服务器的内部 IP 地址。当我尝试通过 Internet 访问我的域时,会出现错误。 (没有发送任何数据,ERR_EMPTY_RESPONSE)假设来自我的 Node JS 服务器。
现在,当我使用地址栏访问我的网站的 https 版本时,它会出现一个警告,然后重定向到我的 XAMPP 服务器。地址栏上没有设置端口,所以我不确定它为什么会重定向到 XAMPP 服务器。
我想知道为什么我的 SSL 不工作,为什么当我放置在 https 中时它会重定向到我的 XAMPP 服务器而不是使用 NodeJS 服务器?
【问题讨论】:
-
你是如何在 xampp 中设置端口的,你能提供 XAMPP>apache>conf>httpd.conf 输出来查看你的端口和 IP 是如何设置为监听的,确保之前编辑 IP 和端口分享?另外,首先尝试不使用 SSL 的 express 服务器,以确保您已正确完成外部连接。然后就可以调试 SSL 部分了。
-
XAMPP>apache>conf>httpd.conf 设置为侦听端口 1337。服务器在没有 https 和 http 模块的情况下工作。当我将其更改为 https 模块时,它不起作用,当我通过 https 访问它时,xampp 服务器加载而不是节点 js 服务器。
-
啊,我现在只是将 xampp 服务器重定向到网站的 http 版本。 =_= 我不知道当我尝试在节点 js 服务器上安装 https 时会发生什么,因为 https 版本无论如何都会进入 XAMPP 服务器。
-
推荐使用 nginx 之类的东西,因为设置需要托管两台服务器和一个公共 IP 入口点。您可以在提供的答案中查看更多详细信息。