我在apache后面运行龙卷风。我已经创建了代理服务器。
ProxyRequests On
ProxyPass /chat/ http://localhost:8888/chat/
此代码运行良好,并将我的所有请求传递给龙卷风并将响应返回给客户端。
现在,我正在使用龙卷风进行长轮询。一些在短时间内完成的请求说不到 1 分钟,这个反向代理工作正常。但是某些长轮询请求会产生 502 代理错误。这个代理错误的原因是 Apache 可以保持一分钟的长轮询请求(默认情况下)。它关闭请求,因此收到代理错误。
现在,我将指令修改为
ProxyRequests On
ProxyPass /chat/ http://localhost:8888/chat/ timeout=12000
即我将默认超时更改为 12000 秒。
这对我来说目前工作正常。但这不是解决问题的最佳方法。理想情况下,长轮询请求可以超过指定的任何超时。所以我的问题是
- 如何使超时无限?即请求永远不会被 Apache 关闭。
- 还请评论:通过Apache作为代理服务器是否会降低tornado的性能?