是否有可能增加CloudFlare超时?

fif*_*nce 22 timeout connection-timeout cloudflare

是否有可能增加CloudFlare的超时时间?如果有,怎么样?

我的代码需要一段时间才能执行,我不打算在未来几天对其进行Ajax化.

在此输入图像描述

mjs*_*jsa 27

不,CloudFlare仅在企业计划上提供这种自定义.

  • 如果15秒后无法建立HTTP握手,CloudFlare将超时.
  • CloudFlare还将等待100秒,以便从您的服务器获得HTTP响应,然后您将看到524超时错误.
  • 除此之外,您的原始Web服务器上可能会有超时.

522在CloudFlare上使用SYN/ACK 具有ACK超时的CloudFlare上的522

听起来你需要进程间通信.HTTP不应该被用作执行阻塞任务而不发送响应的机制,而是应该将这些类型的活动抽象到服务器上的非HTTP服务.通过使用RabbitMQ(或任何其他MQ),您可以将消息从服​​务器的HTTP元素传递到Web服务器上的处理服务.

Pub/Sub IPC

  • 看起来90秒的超时现在是60秒。 (2认同)

Jes*_*sta 18

Cloudflare 不会在超时时触发 504 错误

  • 504 是您的服务器触发的超时- 与 Cloudflare 无关。
  • 524 是 Cloudflare 触发的超时。

请参阅:https://support.cloudflare.com/hc/en-us/articles/115003011431-Troubleshooting-Cloudflare-5XX-errors#502504error

524错误?有一个解决方法:

正如 @mjsa 提到的,Cloudflare 仅向企业客户端提供超时设置,这对大多数人来说不是一个选项。

但是,您可以通过将橙色云变成灰色来禁用该特定(子)域的 Cloudflare 代理:

前:

  • 在此输入图像描述

后:

  • 在此输入图像描述

注意:它将禁用该特定(子)域的额外功能,包括 IP 屏蔽和 SSL 证书。

正如 Cloudflare 在其文档中所述:

如果您定期运行需要超过 100 秒才能完成的 HTTP 请求(例如大型数据导出),请考虑将这些长时间运行的进程移至不由 Cloudflare 代理的子域。该子域将在 Cloudflare DNS 设置 中将橙色云图标切换为灰色。请注意,您无法使用页面规则来规避错误 524。

  • 您引用的页面显示 Cloudflare [可以](https://developers.cloudflare.com/support/troubleshooting/cloudflare-errors/troubleshooting-cloudflare-5xx-errors/#502504-from-cloudflare) 触发 504 错误。 (2认同)

gor*_*613 10

我与Cloudflare就同一问题进行了沟通,并且还得到了RabbitMQ的技术支持.

RabbitMQ建议使用依赖Web套接字的Web Stomp.然而Cloudflare建议......

Websockets将通过Cloudflare创建持久连接,并且没有超时,但解决此问题的最佳方法是在后台处理请求并异步响应,并提供"正在加载..."页面或类似内容,而不是而不是让用户等待100秒.这也将为用户提供更好的用户体验

更新:

为了完整起见,我还会在此记录,我还要求CloudFlare通过子域运行报告并"灰化"它,并且他们回复如下:

我建议验证为什么报告需要超过100秒.在子域上禁用Cloudflare,允许攻击者了解您的原始IP,攻击者将直接绕过Cloudflare进行攻击.

进一步更新

我终于通过使用线程运行报告并使用AJAX"轮询"报告是否已创建来解决此问题.请参阅绕过CloudFlare超时100秒