gpt4 book ai didi

cloudflare - 在智能错误已被禁用的情况下,如何禁用cloudflare自定义错误页面,包括错误504(网关超时)?

转载 作者:行者123 更新时间:2023-12-03 19:37:30 40 4
gpt4 key购买 nike

我的网站使用cloudflare.com的免费计划作为反向代理。

我执行了一个脚本,耗时超过60秒,并且服务器抛出504网关超时,但是我没有得到我的Web服务器页面,而是由cloudflare获取了自定义页面设置,

我已经仔细检查过,并且我的cloudflare中的Smart-errors应用程序已关闭,那么为什么cloudflare仍然提供其自定义页面?

如何关闭cloudflare的所有自定义页面并仅用作反向代理。

所以我的问题是如何关闭cloudflare的所有自定义错误页面?

我在cent os7。64位上使用nginx最新服务器。
与php-fpm最新。



更新:

这是我得到504错误时得到的。

Error 504 Ray ID: 1fb6a3feef7c17c8 • 2015-06-24 07:16:17 UTC
Gateway time-out
You
Browser
Working
Singapore
CloudFlare
Working
mydomain.com
Host
Error
What happened?

The web server reported a gateway time-out error.
What can I do?

Please try again in a few minutes.

CloudFlare Ray ID: 1fb6a3feef7c17c8 • Your IP: myip • Performance & security by CloudFlare




更新:如damoncloudflare所建议,我想添加更多详细信息。

它是一个专用服务器,具有linux cent os 7、64位,最新的nginx,php-fpm,

在nginx conf中,我已经指定了如何处理504错误

error_page  500 502 503 504             /50x.html;


如何复制它。



<?php
http_response_code(504);
?>


要么

<?php
sleep(61);
echo 'i am done sleeping';
?>



其中61大于max_execution_time为60


更多细节,这是为什么会发生这种情况。

我正在下载巨大的文件,下载时间超过60秒,这是在php.ini文件中设置的max_execution_time。

所以我收到了cloudflare错误。
我想补充一点,我的服务器没有错。

如果我从免费升级到专业版,我还有一个查询,是否能够禁用cloudlfare 504错误并显示我的Web服务器自定义页面?



更新2

我想,现在我明白了这个问题。

错误504
网关超时

当服务器无法访问且那是cloudflare显示其页面的位置时触发
显然,如果服务器无法访问,则服务器将无法显示504页。

感谢您的回复。

最佳答案

我刚刚花了2个小时!这不是Cloudflare第一次给我带来毫无意义的痛苦。我将这个答案发布给可能会遇到此问题的其他任何人。

Cloudflare希望使您获得高级计划以自定义某些错误页面。从他们的网站(域名>自定义页面标签):


500级错误升级到Pro [...]发布您的自定义页面后,Cloudflare将使用您的自定义页面,而不是针对502、504和52x错误向访客提供我们的标准500级错误页面。


即使您的NGINX设置正确地为您的50x错误页面提供服务,Cloudflare也会看到50x响应代码与错误页面一起发送回去,并使用错误页面覆盖您的页面。

存在解决方法。从NGINX documentation on the error_page directive


此外,可以使用“ = response”语法将响应代码更改为另一个,例如:
error_page 404 =200 /empty.gif;


基本上,我们捕获了50x,但没有将50x响应代码与错误页面一起返回,而是将响应代码更改为Cloudflare不会覆盖其页面的代码。将错误消息(具体而言)“降级”为500错误是个好主意。 This conveys less information but it still fits the 50x class error

error_page  500 503  /50x.html;
error_page 502 504 =500 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
internal;
}


我应该添加- 504并不表示未达到NGINX。这意味着,在反向代理上下文中,NGINX成功传递了请求,但是上游服务(FastCGI /应用服务器,例如Puma)花费了很长时间才能响应。

关于cloudflare - 在智能错误已被禁用的情况下,如何禁用cloudflare自定义错误页面,包括错误504(网关超时)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31051138/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com