521 错误原因详解及解决方案:Cloudflare 无法连接源站

当访问网站时遇到 521 错误(Web Server Is Down),说明浏览器已经成功连接到 Cloudflare,但 Cloudflare 无法连接到你的网站服务器(源站)。这并不是 Cloudflare 的问题,而是源站服务器拒绝或无法建立连接。

一、521 错误的常见表现

访问网站提示:“Error 521: Web server is down”

Cloudflare 面板状态正常,DNS配置无误

使用浏览器或命令行 curl 测试显示连接失败

二、521 错误的常见原因

1. 源服务器未运行

Apache、Nginx 或其他 Web 服务未启动或崩溃系统重启后服务未自动启动

解决方案

登录服务器后台,确认 Nginx / Apache 是否正在运行

常用命令: systemctl status nginx systemctl start nginx

2. 防火墙阻止了 Cloudflare IP

源服务器上的防火墙(如 UFW、iptables、CSF 等)拦截了 Cloudflare 的请求 IP

服务器认为 Cloudflare 的访问是攻击,自动封锁

解决方案

确保 Cloudflare 的所有 IP 已添加至防火墙白名单
官方 IP 地址段参考:https://www.cloudflare.com/ips/

添加命令示例(以 UFW 为例): sudo ufw allow from 173.245.48.0/20 sudo ufw allow from 103.21.244.0/22

3. 网站监听的端口或IP配置错误

Web 服务监听的是本地 IP(如 127.0.0.1),而非公共 IP

配置文件限制了某些端口或连接来源

解决方案

检查 Nginx/Apache 的监听配置,如 listen 80; 或 listen [IP]:80;

修改为: listen 80; server_name yourdomain.com;

4. SSL 设置不兼容

Cloudflare 与源站之间启用了不兼容的加密模式

源站未正确配置 SSL,但 Cloudflare 启用了“完整”或“严格”加密

解决方案

登录 Cloudflare 面板 → SSL/TLS 设置

将加密模式调为:灵活(Flexible):源站无 HTTPS

完整(Full):源站支持 HTTPS 但证书非可信

严格(Strict):源站有有效证书

5. 临时性网络中断或超载

源站 CPU、内存占用过高,无法响应

数据中心临时故障

解决方案

检查服务器资源使用情况 top / htop

重启服务器尝试恢复

三、如何诊断 521 错误

使用命令行测试源站是否在线: curl -I http://yourdomain.com curl -I http://your_server_ip

检查防火墙日志是否封禁 Cloudflare IP

查看服务器 Web 服务日志: tail -f /var/log/nginx/error.log

四、总结建议

确保服务器 Web 服务正常运行

将 Cloudflare 所有 IP 加入防火墙白名单

检查监听配置与端口设置

正确配置 SSL 模式匹配

出现 521 可通过 curl、自检命令快速定位问题

如使用的是腾讯云、阿里云、宝塔面板等,可以从面板查看防火墙设置与 Web 服务状态。若仍无法排查问题,建议暂时暂停 Cloudflare(直连源站)以确认是否为服务器问题。

Leave a Reply

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