从之前提出的问题中,我知道我可以使用反向代理将请求路由到不同的服务器,例如用于 apache 的 mod_proxy。我的问题是,在我深入研究它的设置之前,哪个反向代理将允许我根据请求标头中的 HTTP 或 ws 做出路由决定。例如,我希望所有进入的请求都https://example.com
被路由到 lanserver:443,而进入代理的请求wss://example.com
被路由到 lanserver:8443 的 Web 套接字端点。
mod_proxy 可以做到这一点吗?或任何其他 Linux 代理?
谢谢。
既然我回答了你的第一个问题,我也不妨回答这个问题。:)
看起来 mod_proxy 可以做到 ,但Nginx和HAproxy(或此处)也可以。
这些链接至少表明 WebSockets 的代理是有效的,但是您如何使用 Apache 或 Nginx 实际执行它需要一些工作。
另一方面,提供的 HAproxy 链接准确地显示了如何按照您想要的方式进行操作。
剧透:您检测到
Upgrade: websocket
标头的存在和基于它的路由。