将 websockets 重定向到端口吗?

将 websockets 重定向到端口吗?

因此,我有一个 C++ 中的 WebSocket 服务器,它是一个完全独立的实体 - 处理标头解析、接收、发送,所有这些都自行完成,直接监听端口。

问题是,它需要与 Apache 一起在服务器上运行,这有点麻烦。现在,这里有一个涉及 mod_proxy 的类似问题的解决方案,但我希望我可以在 Apache 知道之前拦截和重定向 WebSocket 通信,可能使用 iptables。

那么问题是,是否有可能引导前往聊天.mysite.net 传输到 WebSocket 服务器(比如端口 8080),而其他任何发往 mysite.net 的内容是否都能按预期传输到 Apache?

答案1

事实证明这其实相当简单;只需编写客户端代码以访问服务器即可ws://mysite.com:8080。尽管 WebSockets 能够使用端口 80,但我很惊讶地发现它不能需要到。

答案2

抱歉,iptables 无法做到这一点,因为 iptables 无法理解 http 协议。有人应该编写 ip_conntrack_http,这样它才能真正发挥作用(类似于 ftp conntrack 的东西);-) 在那之前,您可能应该使用带有 mod_proxy 或 nginx 的 apache。

相关内容