[英]Cloudflare HTTP POST 524 Timeout with node.js + express
启用cloudflare时,我在使用HTTP POST时遇到问题。 它一直返回524超时。
Failed to load resource: the server responded with a status of 524 (Origin Time-out)
但是当我禁用cloudflare时,HTTP POST工作正常。
知道是什么原因引起的吗?
UPDATE
我正在使用AJAX POST,这与ajax有什么关系吗?
谢谢。
CloudFlare 524错误的一般原因。
支持应该能够提供更详细的故障排除。
控制台实用程序“netstat”显示来自CloudFlare的某些连接处于CLOSE_WAIT状态。 指出服务器只是没有正确关闭连接。 通过Message Analyzer查看我的Web服务器的TCP流量,我发现已建立了几个连接并发送了http请求,但我的服务器从未处理过。
所以我们得到一个答案:同时建立的连接数超过可用的Accept()调用数。 因此,TCP堆栈连接并等待,而应用程序将处理它的连接。 根据情况,这种情况永远不会发生,因此客户端只需在30秒超时后断开此连接,而不会得到任何响应。
要解决此问题,您必须增加可能的未完成接受次数 。 此参数可以命名为“最大同时连接数”或类似名称。 检查您的Web服务器文档\\请求支持人员找到它。
此外,作为实验,您可以强制服务器使用“Connection:close”标头回复每个请求。 这可能会阻止达到活动连接限制问题,因为CloudFlare保持活动时间太长。
此外,您同时执行的请求越多,遇到麻烦的可能性就越大。 您可以尝试为空闲连接设置一些小的Web服务器端超时 。
PS:一个客户端加载页面后CloudFlare连接数的插图:( http://i.imgur.com/IgwGLCf.png )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.