【问题标题】:Socket.io on port 8080 端口上的 Socket.io
【发布时间】:2013-07-04 23:24:52
【问题描述】:

我已经创建了一个节点应用程序,它在端口 80 上进行侦听,我的应用程序在 localhost 上运行良好,但是当我在 VPS 上运行它时,我得到了不同的日志和不同的结果(websockets 只是不工作)

localhost的日志和VPS的日志对比:

Node's log on localhost

Node's log on VPS

如你所见,在 VPS 中,使用 xhr 而不是 websocket 在它说“信息:传输端(套接字端)”之后

我没有在我的 VPS 上使用任何网络服务器,而是以 root 身份运行我的应用程序。

【问题讨论】:

    标签: node.js socket.io port


    【解决方案1】:

    您是否在 VPS 上的节点应用程序前面运行 Web 服务器?如果是这样,请确保它足够新并且已正确配置以执行 websocket。例如,在现代 Ubuntu 上,现有的 nginx 还不足以支持 web sockets,所以你必须安装一个单独的包来获得 websocket 支持。

    第二个猜测:你的浏览器和你的 VPS 之间有代理服务器吗?

    【讨论】:

    • 不,我没有使用任何网络服务器,节点可以完成所有工作。将在问题中添加更多信息,在此先感谢
    【解决方案2】:

    您是否在 VPS 上以超级用户身份运行它?普通用户通常无法打开低于 1024 的端口。

    【讨论】:

    • 是的,我用root运行它,节点工作正常,我可以使用我的IP打开我的网页,它在端口80上,但是websockets不起作用:
    【解决方案3】:

    我们的服务器托管在 VPS 上,使用端口 80。通过蜂窝数据和 WIFI 触发的 io 连接正常,但在某些 wifi 网络中却没有。

    所以我们使用了不同的端口,然后它就可以工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-22
      • 1970-01-01
      • 2012-02-06
      • 1970-01-01
      • 2012-03-18
      • 2015-06-21
      • 2012-01-21
      • 2018-10-13
      相关资源
      最近更新 更多