gpt4 book ai didi

node.js - 如何通过反向代理连接 socket.io

转载 作者:搜寻专家 更新时间:2023-10-31 22:19:04 25 4
gpt4 key购买 nike

我正在尝试从 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

?

最佳答案

在您的客户端代码中,您必须使用资源选项设置基本路径,如下所示:

var socket = io.connect('http://localhost:8888', {resource: '/some/path/socket.io'});

关于node.js - 如何通过反向代理连接 socket.io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22919276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com