我的网站是离线或不可用状态?

如果 Cloudflare 无法连接到您的源站服务器,则您的站点会出现许多 Cloudflare 5xx 错误消息。错误消息如下:

上述错误一般有以下原因:

  1. 您的服务器或托管服务提供商有问题
  2. 您的服务器或托管服务提供商没有问题,但您的托管服务提供商或服务器正在限制或阻止来自 Cloudflare IP 的连接

诊断源站服务器是否脱机的技巧

当您看到 Cloudflare 5xx 错误消息时,第一步是检查您的源站服务器是否有问题。为此,您可以运行两个测试。

测试 1: 尝试访问您网站的以下子域(即 example.com):
direct.example.com

如果使用直接子域无法访问该站点,则问题可能是您的服务器或托管服务提供商。在这种情况下,请与您的托管服务提供商联系,以了解原始服务器脱机的原因。如果此子域不存在,则继续进行第二个测试。

注意:注册获得此服务时,Cloudflare 会添加“direct”子域。它会绕过 Cloudflare 的网络。有些用户选择编辑子域的名称,因此如果您更改了其名称,则应将“direct”替换为修改后的子域名。

测试 2: 在 Terminal 或 Putty 中运行以下 curl 命令:

curl -v -H 'Host: example.com' server IP address

因此,例如: 

curl -v -H 'Host: example.com' 111.111.111.11

提示:您可从域的 Cloudflare DNS 设置页面获取您服务器 IP 地址。

如果 curl 返回类似于“Can’t connect to host”或“500 Internal server error”的错误消息,则问题可能是您的服务器或托管服务提供商。请联系您的托管服务提供商以获取帮助。

如果 curl 在响应中返回了您站点的 HTML,则问题是您的服务器或托管服务提供商有限制规则,限制了来自 Cloudflare IP 的连接。

建议

如果您的服务器源站在运行,但来自 Cloudflare 的连接被阻止,则以下内容将有所帮助:

  1. 确保 Cloudflare IP 在 .htaccess、iptables 或您源站上的任何防火墙中没有被阻止。
  2. 确保您的托管提供商没有设置 Rate Limiting 或阻止来自 Cloudflare IP 的请求,并要求他们将 Cloudflare 的 IP 列入白名单
  3. 如果正在使用 Bad Behavior 或 mod_security , 请确保安装了最新版本。确保 mod_security 的核心规则没有阻止 Cloudflare 请求。
  4. 如果安装并加载了自定义 Apache 模块,例如 mod_antiloris 和 mod_reqtimeout,请禁用或卸载这些模块。这些模块将在 IP 连接每次超过 22 次时进行阻止。由于所有连接现在都来自 Cloudflare IP 地址,因此将会达到这个导致错误页面的连接限制。卸载该模块后,此问题即可解决。
Not finding what you need?

95% of questions can be answered using the search tool. This is the quickest way to get a response.

由 Zendesk 提供技术支持