Nginx使用502 Bad Gateway覆盖一般的symfony错误

Dan*_*iro 10 nginx symfony

当我尝试访问不存在的路由或在Twig模板中出错时,我没有获得带有调试信息的Symfony错误页面,而是被重定向到默认的nginx 502 Bad Gateway.

日志显示了一个有趣的行:

013/07/17 16:11:41 [error] 16952#0: *187 upstream sent too big header while reading
response header from upstream, client: 127.0.0.1, server: ftwo.localhost, request: "GET    
/heasd HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "ftwo.localhost"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Nic*_*ich 20

在nginx配置中增加缓冲区大小,然后按照此处的建议重新启动nginx .

proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
Run Code Online (Sandbox Code Playgroud)

进一步增加配置的php部分中的fastcgi缓冲区(location~.php $)

fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
Run Code Online (Sandbox Code Playgroud)

参考答案从CodeIgniter用户一个问题在这里.


Ale*_*zov 17

您也可以尝试在app/config/config_dev.yml上停用ChromePHP

只需注释掉这些行:

chromephp:
    type:   chromephp
    level:  info
Run Code Online (Sandbox Code Playgroud)

此插件生成一个大标头并强制nginx响应502 Bad Gateway.

更多信息:

https://github.com/symfony/symfony/issues/8413

在Symfony 2.3中启用调试组件