96SEO 2025-10-23 02:13 0
Error 520是一种常见的HTTP状态码,表示Cloudflare在访问您的源服务器时收到了一个未知或空的响应。换句话说 当您的访问者在浏览器中看到“Error 520”,这意味着Cloudflare与您服务器之间的通信出现了异常,导致无法正确加载网页。
这种错误往往让站长和开发者感到困惑, 主要原因是它不像传统的5xx错误那样明确指出是服务器内部问题,而是源自Cloudflare与服务器交互时发生了不可预期的情况。

先说说 将域名DNS中的Cloudflare代理切换为仅DNS,使流量直接指向您的源服务器。通过这种方式访问网站,可以判断是否为源站自身问题引起。
- 查看Nginx或Apache错误日志是否有相关报错信息, 比如连接超时、权限问题等。 - 检查PHP-FPM日志,确认PHP脚本无致命错误。 - 。
- 常见面板如宝塔自带防火墙可能默认屏蔽国外IP,而Cloudflare节点大多位于海外。 - 在宝塔面板中关闭“禁止海外访问”选项,或者将所有Cloudflare IP加入白名单。 - 检查是否有其他平安插件误判拦截请求,并适当调整规则。
- 如果开启了Cloudflare的SSL功能, 必须确保证书正确安装在您的服务器上,否则连接会失败产生520错误。 - 使用工具如SSL Labs检测证书有效性和链完整性。 - 若使用自签名证书, 请切换为Full 模式需注意兼容性问题,可以尝试先改成Full模式测试效果。
为什么要做?
由于大量CDN节点分布全球, 如果防火墙限制了国外IP,就会误拦截来自这些节点的正常请求,从而触发Error 520。
操作步骤:
- 确保Nginx/Apache监听端口正确,如80端口和443端口未被占用且正常运行。
- 配置反向代理时 请确认转发目标地址无误且可达
- 对于Nginx用户,可启用x-forwarded-for / cf-connecting-ip headers,获取真实客户端IP,有助于排查来源请求
- 使用以下示例确保已添加正确头部支持:
location / {
proxy_set_header CF-Connecting-IP $http_cf_connecting_ip;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://backend_server;
}
- 在Cloudflare仪表盘中生成Origin CA证书,并将其安装到您服务器对应位置 - 配置Web服务加载该证书文件,并确保密钥匹配 - 设置加密模式为 "Full ",以保证双方通信平安且稳定 Nginx示例片段:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /path/to/cloudflare_origin.pem;
ssl_certificate_key /path/to/cloudflare_origin.key;
# 其他ssl设置
}
A公司新搭建的网站接入了Cloudflare CDN,但上线当天频繁出现Error 520页面严重影响用户体验。他们尝试清除缓存、更换浏览器均无效,于是开始系统排查流程。
proxy_set_header CF-Connecting-IP $http_cf_connecting_ip; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ;
Demand feedback