gpt4 book ai didi

node.js - 使用 Socket.io 的 node-http-proxy websocket 超时

转载 作者:搜寻专家 更新时间:2023-11-01 00:08:47 24 4
gpt4 key购买 nike

由于某种原因,http-proxy 导致基于 socket.io 的 websocket 连接每 2 分钟重新连接一次。在重新连接消息在客户端和服务器之间正常工作之前。如果我绕过代理,websocket 连接无需重新连接即可工作。代理配置非常基本,并遵循 nodejitsu 的示例。

var http = require('http'),
httpProxy = require('http-proxy');

var options = {
hostNameOnly: true,
router: {
'example.com/sockets/': '127.0.0.1:9001'
}
};

var proxyServer = httpProxy.createServer(options);
proxyServer.listen(80);

我也曾尝试更改配置中的超时选项,但这对重新连接问题没有影响。

timeout: 120000 // override the default 2 minute http socket timeout value in milliseconds

软件版本:Ubuntu 12.04 服务器,node.js 0.8.16,http-proxy 0.8.7,socket.io 0.8.7。

这在 dev Mac (10.8.3) 和 Ubuntu 桌面 12.04 (virtualbox) 上完美运行,但在服务器上运行不正常。

最佳答案

在传递给 createServer 的选项中设置超时。options.timeout 套接字超时和 options.proxyTimeout 允许传出套接字超时,以便我们可以在初始请求时显示错误页面。

关于node.js - 使用 Socket.io 的 node-http-proxy websocket 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16775719/

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