【问题标题】:How can I bind http and https in one node server如何在一个节点服务器中绑定 http 和 https
【发布时间】:2016-01-07 11:55:19
【问题描述】:

我有一个使用 node.js 服务器的聊天应用程序,几天前我们从 http 转移到 https 服务器,其中 https 服务器在 web 上运行良好,但在本机应用程序上却没有,所以为此我们创建了具有不同的新 http 服务器端口号。

现在我有两个节点socket.io服务器,一个是http,在端口3000上工作(用于移动客户端),另一个是https,在3001端口上工作(用于Web客户端),两个服务器都有相同的代码,但现在我无法在本地用户和网络用户之间进行通信。

那么节点服务器是否可以在同一个端口同时监听 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="";

【问题讨论】:

    标签: node.js http https socket.io bind


    【解决方案1】:

    我不确定您是否可以让 http 和 https 服务器在同一个端口上同时侦听并仅接受其协议。

    有什么方法可以将 HTTP 服务器请求发送到 HTTPS 服务器?

    是的,请查看这个解释如何创建 HTTP -> HTTPS 代理的问题。 How to use node-http-proxy for HTTP to HTTPS routing?

    【讨论】:

    • 如何使用socket.io。即假设我在节点套接字 api 中有一个 test_method,那么我如何从移动用户(只能建立 HTTP 连接)调用它并将其传递给 https 服务器。主要条件是所有用户在通信期间都绑定到一个scoket,并且我有多个套接字连接。使用 http-proxy 好还是我应该为此尝试 nginx。
    猜你喜欢
    • 1970-01-01
    • 2019-11-01
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    • 2017-01-18
    • 1970-01-01
    • 2013-07-13
    相关资源
    最近更新 更多