【问题标题】:Socket.io - Ports, Protocols and ProxiesSocket.io - 端口、协议和代理
【发布时间】:2011-11-20 21:40:19
【问题描述】:

我正在 Nodejs 和 Socket.io 上构建一个系统,为客户端(包括移动设备)提供实时事件。

我了解 websockets 可能会由于其 HTTP like 握手而在遍历某些代理时出现问题,因此您可能会通过使用安全的 websockets 获得更高的可靠性。

避免因选择端口和协议而引起的问题很重要。为了获得最大的兼容性,端口 80 是否是避免企业等关闭端口的最佳选择? socket.io SSL 是否像 wss 一样更可靠?

提前感谢您的建议!

【问题讨论】:

    标签: node.js proxy port websocket socket.io


    【解决方案1】:

    SSL 不是 node 的强项之一,但开发团队正在为此努力。所以我不会说 SSL 更可靠。

    至于端口/代理.. 这是一场噩梦,你有防火墙阻止端口 80 以外的端口。你有病毒扫描程序阻止 websocket 和其他轮询请求,并允许它在不同的端口上。

    对于我们的网站,我们发现大约 5% 的访问者无法访问 4000 端口。这是一个相当大的数字。

    所以真的没有一个理想的端口.. 但是如果你只是建议你使用端口 80 并且可能提供一个回退到端口 8080 以便当你从 socket.io 收到一个 connect_failed 事件时你可以尝试通过不同的端口连接。

    在服务器端,您可能可以使用 IPTables 对此进行一些简单的端口转发,但我相信 google 可以告诉您更多相关信息,因为这不是我的强项;D

    无论如何,希望这会有所帮助。

    【讨论】:

    • 谢谢。希望在端口 80 上失败的 websocket 的狡猾代理在 8080 上更加宽松。
    猜你喜欢
    • 2014-03-03
    • 2018-06-21
    • 2015-01-05
    • 1970-01-01
    • 2011-10-19
    • 2010-09-06
    相关资源
    最近更新 更多