启用cloudflare时,我在使用HTTP POST时遇到问题。 它不断返回524超时。
Failed to load resource: the server responded with a status of 524 (Origin Time-out)
但是当我禁用cloudflare时,HTTP POST工作正常。
知道可能导致这种情况的原因吗?
更新
我正在使用AJAX POST,这是否与ajax有关?
感谢。
答案 0 :(得分:0)
CloudFlare 524 error的一般原因。
支持应该能够提供更详细的故障排除。
答案 1 :(得分:0)
控制台实用程序“netstat”显示来自CloudFlare的某些连接处于CLOSE_WAIT状态。指出服务器只是没有正确关闭连接。通过Message Analyzer查看我的Web服务器的TCP流量,我发现已建立了几个连接,并且已发送http请求,但我的服务器从未处理过。
所以我们得到一个答案:同时建立的连接数超过可用的Accept()调用数。因此,TCP堆栈连接并等待,而应用程序将处理它的连接。根据具体情况,这种情况永远不会发生,因此客户端只需在30秒超时后断开此连接,而不会得到任何响应。
要解决此问题,您必须增加未完成的可能接受次数。此参数可以命名为“最大同时连接数”或类似名称。检查您的Web服务器文档\请求支持人员找到它。
此外,作为实验,您可以强制服务器使用“Connection:close”标头回复每个请求。这可能会阻止达到活动连接限制问题,因为CloudFlare将它们保持活动的时间太长了。
此外,您同时执行的请求越多,遇到麻烦的可能性就越大。您可以尝试为空闲连接设置一些小型网络服务器端超时。
P.S。:一个客户端加载页面后CloudFlare连接数的插图: (http://i.imgur.com/IgwGLCf.png)