You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS EC2部署Laravel多次访问URL触发Error 520报错解决方案咨询

AWS EC2部署Laravel访问触发Cloudflare 520错误根治方案

问题现象

部署在AWS EC2上的Laravel项目,多次访问URL时触发Error 520 Web server is returning an unknown error报错,清除浏览器Cookie后可暂时恢复,无法通过临时清Cookie的方案适配生产使用场景。
Error 520报错截图

根因定位

520是Cloudflare边缘节点无法解析源站合法HTTP响应时返回的错误,清Cookie可临时恢复说明问题核心与请求携带的Cookie体积、源站Cookie处理逻辑直接相关,不属于网络连通性故障,常见触发点为Web服务器头缓冲区不足、Laravel Cookie/Session配置异常、PHP返回畸形响应三类。

根治操作步骤

  • 调整Web服务头缓冲区配置
    绝大多数该场景的520错误都是大Cookie触发Web服务器默认头缓冲区上限,返回空响应或截断响应导致:
    1. 若使用Nginx作为Web服务,在对应站点的server配置块中添加以下参数:
      large_client_header_buffers 4 16k;
      client_header_buffer_size 4k;
      proxy_buffer_size 128k;
      proxy_buffers 4 256k;
      proxy_busy_buffers_size 256k;
      
      配置修改后执行nginx -t校验语法无报错,执行systemctl reload nginx重载配置生效。
    2. 若使用Apache作为Web服务,在站点配置中添加以下参数:
      LimitRequestFieldSize 16384
      LimitRequestLine 16384
      
      修改后执行systemctl reload httpd重载配置生效。
  • 修复Laravel侧Cookie与Session配置缺陷
    1. 打开config/session.php检查驱动配置,默认cookie驱动会将全量Session数据加密后存储在客户端Cookie中,单Cookie体积超过4KB就极易触发头超限问题,若业务Session存储数据量较大,将驱动改为redis或database,避免客户端Cookie持续膨胀。
    2. 校验同文件内domain、secure、same_site参数,确保和实际访问域名、HTTPS配置匹配,参数配置错误会导致Cookie循环写入、体积持续叠加的问题。
    3. 排查全局中间件、路由中间件中的Cookie操作逻辑,删除重复写入Cookie、无意义追加Cookie内容的代码,避免每次请求都往Cookie里追加冗余数据。
  • 排查PHP运行时异常
    1. 检查php.ini配置,将output_buffering参数设置为4096,避免PHP输出内容时提前发送头导致响应格式异常。
    2. 调整PHP-FPM池配置中的request_terminate_timeout参数,不要设置为低于30s的过短阈值,避免脚本未完成响应就被进程强制终止,返回截断的畸形响应。
    3. 查看Laravel日志storage/logs/laravel.log与Web服务错误日志,定位520报错对应时间点是否存在headers already sent类报错,这类报错会直接导致HTTP响应头格式非法,Cloudflare无法解析就会返回520。
  • 校验Cloudflare侧配置
    1. 检查Cloudflare转换规则、源站规则中是否配置了过多的请求/响应头重写、Cookie重写逻辑,规则叠加会额外增加请求/响应头体积,触发缓冲区上限。
    2. 临时开启Cloudflare开发模式复现问题,通过Cloudflare源站日志查看520对应的子错误码,可直接定位是响应头过大、响应为空还是头格式非法的具体问题。

验证方法

配置调整完成后,构造携带大体积Cookie的请求直接访问EC2源站IP,确认源站可正常返回200响应后,再通过绑定Cloudflare的域名访问,连续刷新10次以上无520报错即为修复完成。

内容的提问来源于stack exchange,提问作者Jignesh Prajapati

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 18:06:33