Php 在NodeJS中安装SSL(没有发送任何数据,错误为空)
我已下载了从app.zerosssl.com收到的SSL证书,并将其放置在与主节点脚本相同的目录中;并使用此代码安装它Php 在NodeJS中安装SSL(没有发送任何数据,错误为空),php,node.js,ssl,xampp,Php,Node.js,Ssl,Xampp,我已下载了从app.zerosssl.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 + '/priva
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地址。当我试图通过互联网访问我的域名时,它会出现一个错误。(没有发送任何数据,ERR_EMPTY_响应)来自我的节点JS服务器
现在,当我使用地址栏访问我的网站的https版本时,它会出现一个警告,然后重定向到我的XAMPP服务器。该端口未在地址栏上设置,因此我不确定它为什么会重定向到XAMPP服务器
我想知道为什么我的SSL不起作用,为什么当我使用https时,它会重定向到我的XAMPP服务器而不是使用NodeJS服务器?既然您运行两台服务器和一个公共入口点,那么您需要使用类似nginx的东西才能从外部IP访问这两个服务器 XAMPP可能优先于express服务器,这就是为什么它要去那里 注意:如果您正在处理HTTPS,请确保添加路由器规则以利用端口443 下面是一些关于如何在一台服务器中托管两台服务器的文档。在本例中,它是两个网站,但您可以更改它,使其适用于一个网站和一个后端服务器,因为这是专门用于路由到不同端口的 注意:您可以跳过服务器名称,只需在每个配置中向前添加端口。这样,您就可以为xampp提供一个转发到1337的端口,为express服务器提供另一个端口
.您是如何在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版本我不知道当我尝试在node js服务器上安装https时会发生什么,因为https版本无论如何都会进入XAMPP服务器。建议使用类似nginx的东西,因为安装需要承载两台服务器和一个公共IP入口点。您可以在提供的答案中看到更多详细信息。您是正确的,XAMPP优先于express服务器。