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

时间:2013-07-17 19:04:09

标签: symfony nginx

当我尝试访问不存在的路由或在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"

有什么想法吗?

2 个答案:

答案 0 :(得分:19)

在nginx配置中增加缓冲区大小,然后按照建议here重新启动nginx。

proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;

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

fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;

来自CodeIgniter用户here的问题的参考答案。

答案 1 :(得分:17)

您也可以尝试在app / config / config_dev.yml

停用ChromePHP

只需注释掉这些内容:

chromephp:
    type:   chromephp
    level:  info

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

更多信息:

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

Enable Debug Component in Symfony 2.3