【发布时间】:2015-02-16 01:00:41
【问题描述】:
我有:
Apache(v2.4) 在我的服务器的端口 80 上为www.domain1.com,启用 mod_proxy 和 mod_proxy_wstunnel p>node.js + socket.io在同一台服务器的 3001 端口上。
访问www.domain2.com(使用端口80)重定向到2。感谢the method described here。我已经在 Apache 配置中设置了这个:
<VirtualHost *:80>
ServerName www.domain2.com
ProxyPass / http://localhost:3001/
ProxyPassReverse / http://localhost:3001/
ProxyPass / ws://localhost:3001/
ProxyPassReverse / ws://localhost:3001/
</VirtualHost>
它适用于一切,除了 websocket 部分:ws://... 不会像代理应有的那样传输。
当我访问www.domain2.com 上的页面时,我有:
Impossible to connect ws://www.domain2.com/socket.io/?EIO=3&transport=websocket&sid=n30rqg9AEqZIk5c9AABN.
问题:如何让Apache也代理WebSockets?
【问题讨论】:
标签: node.js apache proxy websocket socket.io