【发布时间】:2014-05-20 02:25:15
【问题描述】:
我正在尝试从 apache 反向代理后面连接到 socket.io 服务器。我在端口 8888 上运行 apache。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 的“资源”配置,但这似乎只设置为从中获取 socket.io.js 脚本的位置,而不是它试图连接的 url。它似乎总是连接到客户端源的根目录。
我怎样才能让它连接到 localhost:8888/some/path/socket.io/1?123983759
?
【问题讨论】:
标签: node.js apache sockets proxy reverse-proxy