我正试图从一个apache反向代理后面连接到一个socket.io服务器。我的apache运行在8888端口。nodejs服务器在同一台机器上运行在9096端口。为了测试代理,我在本地机器上像这样配置:
ProxyPass /some/path http://localhost:9096
ProxyPassReverse /some/path http://localhost:9096
在客户端代码中,我会像这样做:
var socketUrl = 'http://localhost:8888/some/path/namespace';
var socket = io.connect(socketUrl);
这会导致以下行为。
首先,我的客户端请求位于以下位置的socket.io.js脚本:
http://localhost:8888/some/path/socket.io/socket.io.js
-> 200 ok
然后套接字尝试连接到:
localhost:8888/socket.io/1?123983759
-> 404 not found
我已经找到了socket.io的“resource”配置,但这似乎只设置了socket.io.js脚本获取的位置,而不是它尝试连接的URL。 它似乎总是连接到客户端源的根目录。 我该如何使其连接到localhost:8888/some/path/socket.io/1?123983759?