排查 Cloudflare Error 521 的服务器响应测试方法

如果你的网站用了 Cloudflare CDN,有时候可能会遇到一个让人头疼的问题:访问页面时弹出一个 “Error 521 Web Server Is Down”。但这并不一定意味着服务器真的宕机了,很可能只是服务器没正确响应 Cloudflare 的请求。

第一步:检查服务器防火墙设置

最常见导致 Error 521 的原因之一,就是服务器防火墙屏蔽了 Cloudflare 的 IP 地址。首先要确保服务器允许 Cloudflare 的请求。

Cloudflare 会使用特定 IP 地址来连接你的网站,这些 IP 地址官方都有提供,你可以前往官方文档(Google 搜索“Cloudflare IP ranges”即可找到)查看完整列表。

常见做法:

用 SSH 登录到服务器,运行如下命令查看防火墙状态(如用 UFW):sudo ufw status
如果发现 Cloudflare 的 IP 被拦截,可以用如下命令放行:sudo ufw allow from <Cloudflare IP 地址> to any port 80,443
为了省事,建议直接添加 Cloudflare 提供的所有 IP 地址到防火墙白名单,避免今后出现类似问题。

第二步:检查 Web 服务是否正常运行

确保服务器上的 Web 服务(比如 Apache 或 Nginx)正在正常运行并且监听了正确的端口。

检查方式:

Apache:sudo systemctl status apache2Nginx:sudo systemctl status nginx

确保服务状态是 active (running),而不是停止或报错状态。如果是停止状态,尝试重启一下:sudo systemctl restart apache2

或 sudo systemctl restart nginx

第三步:手动测试服务器端口连通性

你可以直接用命令行工具 curl 或者 telnet,模拟 Cloudflare 的访问,查看服务器响应情况。

测试命令(以你的服务器 IP 替换下方的 <你的服务器IP>):

curl -I http://<你的服务器IP>
curl -I https://<你的服务器IP>

或使用 telnet 检查端口:

telnet <你的服务器IP> 80
telnet <你的服务器IP> 443

如果正常连接,你会看到服务器返回的信息,表明端口是开放且正常响应请求的。

第四步:绕过 Cloudflare 验证服务器响应(修改本地hosts)

另一种更直观的测试方式就是修改你本地电脑的 hosts 文件,直接访问服务器 IP,看看网站能否正常打开:

Windows 系统的 hosts 文件在:C:WindowsSystem32driversetchostsMac 或 Linux 系统的 hosts 文件在:/etc/hosts

在 hosts 文件末尾加入:你的服务器IP 你的域名

例如:123.123.123.123 example.com

然后保存并刷新 DNS 缓存:

Windows 下执行(管理员 CMD):ipconfig /flushdnsMac 下执行:dscacheutil -flushcache

修改好后,用浏览器访问你的域名(此时会直接访问你的服务器 IP,绕开 Cloudflare),看能否正常显示网页:

如果能正常访问,说明服务器端没问题,问题在 Cloudflare 和服务器之间。

如果不能访问,则需检查服务器自身的问题(端口、Web 服务状态等)。

第五步:检查 SSL 证书是否正常(如果用 HTTPS)

如果你网站启用了 HTTPS,也可能出现 Error 521 问题,这通常意味着服务器上的 SSL 配置有问题。

你可以在服务器端运行:

openssl s_client -connect 你的服务器IP:443

查看服务器是否正确提供了 SSL 证书。如果 SSL 握手失败,可能需要重新生成或修复证书。

第六步:检查服务器负载

有时候,服务器的 CPU 或内存占用过高,也可能导致 Cloudflare 连接超时,出现 Error 521。

用命令查看服务器负载:

top

如果发现 CPU 或内存使用接近100%,可能是服务器性能不足或存在某个进程占用过多资源,这时你需要优化配置或升级服务器。

最后一步:检查 Cloudflare 配置是否正确

在 Cloudflare 面板的“DNS”区域中,确认:

DNS 记录是否设置正确,且是“橙色云朵”状态(Proxied)。确认服务器 IP 地址是正确的,未输入错误。

在“SSL/TLS”设置中,确保:

SSL 模式正确设置(一般选 Flexible 或 Full)Origin 证书和服务器端证书配置一致。

如果以上都检查了且服务器自身正常响应,Cloudflare 配置也正确,就基本排除服务器端的问题了。

总结

要排查 Error 521,重点就是确认服务器是否拒绝了 Cloudflare 的连接。检查防火墙是否拦了 Cloudflare,确保 Web 服务正常运行,端口开放无误,SSL 配置没出错。如果服务器响应正常,那问题多半出在 Cloudflare 设置。逐项排查,基本都能找出原因。

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注