我们使用 Express (4.0.0) 运行 Node (v0.10.38),通过 nginx (1.2.1) 代理,通常效果很好。然而,最近,我们切换到了新的服务器设置。现在,在启动服务器大约 30 分钟后,服务器开始返回 504(网关超时)。直接从服务器访问 Node(绕过 nginx)也会超时。每隔一段时间,我们就会从 redis 收到一系列 ETIMEDOUT 错误,但是从服务器连接到 redis 服务器是从命令行工作的。此外,服务器甚至在 redis 错误出现之前就开始返回 504。无论如何,将我们的 redis 中间件(connect-redis
)更新到最新版本后,这些错误停止了,但仍然出现 504。但是,在我们的代码中禁用与 redis 的连接 10 小时后,没有 504 发生。我们已尝试定期发送 redis ping 以防止错误,认为这是原因,但 504 仍在继续。不连接redis的时候,服务器不会504,所以很可能是和redis绑定了某种方式。还有什么我们可以尝试的吗?
抱歉,如果没有太多工作要做。我们也没有那么多,急于尽快解决这个问题。如果需要更多细节,我可以更新问题。谢谢你。