我有一个使用 node.js 服务器的聊天应用程序,几天前我们从 http 迁移到 https 服务器,其中 https 服务器在网络上运行良好但在 native 应用程序上运行不正常,因此为此我们创建了具有不同的新 http 服务器端口号。
现在我有两个 Node socket.io 服务器,一个是在端口 3000 上工作的 http(对于移动客户端),另一个是在 3001 端口上工作的 https(对于 Web 客户端),两个服务器都有相同的代码,但现在我无法在 native 和网络用户之间进行通信。
那么 Node 服务器是否可以在同一个端口同时监听HTTP和HTTPS请求。
或
有什么方法可以将 HTTp 服务器请求发送到 HTTPS 服务器?
下面是HTTP服务器的代码
var app = require('http').createServer(handler),
io =require('socket.io').listen(app);
var querystring = require('querystring');
var http=require('http');
var fs = require('fs');
var webservice_host="xxxxxxxxxxxx.com";
var port = process.argv[2] || 3000;
var authKey="";
最佳答案
我不确定您是否可以让 http 和 https 服务器同时监听同一端口并仅接受其协议(protocol)。
有什么方法可以将 HTTp 服务器请求发送到 HTTPS 服务器?
是的,查看这个解释如何创建 HTTP -> HTTPS 代理的问题。 How to use node-http-proxy for HTTP to HTTPS routing?
关于node.js - 如何在一个 Node 服务器中绑定(bind) http 和 https,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33039865/