我在我的日志中有这个错误:
当从上游读取响应报头时,上游发送太大的报头
我试图补充
proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k;
到我的nginx.conf http块但没有工作
我也尝试添加
fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k;
到我的conf文件,但我找不到任何位置〜.php $ {
所以我想知道我怎么能过来这个错误? join
fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k;
到一个手工制作的php块给了我nginx:[emerg]在/etc/nginx/nginx.conf中的未知指令“location”:6
通常这个参数修复“上游发送太大头”的问题,你不需要巨大的价值:)他们设置为http或服务器块,而不是位置。
server { ... fastcgi_buffers 16 16k; fastcgi_buffer_size 32k; }
有时Firefox的FirePHP会创建大的标题,尝试暂时禁用它。
upstream sent too big header while reading response header from upstream
是nginx的一般说法:“我不喜欢我所看到的”
3:查看消息上方的错误日志,是否在消息前面记录了流? PHP message: PHP Notice: Undefined index:
来自循环的示例代码片段我的日志文件:
2015/11/23 10:30:02 [error] 32451#0: *580927 FastCGI sent in stderr: "PHP message: PHP Notice: Undefined index: Firstname in /srv/www/classes/data_convert.php on line 1090 PHP message: PHP Notice: Undefined index: Lastname in /srv/www/classes/data_convert.php on line 1090 ... // 20 lines of same PHP message: PHP Notice: Undefined index: Firstname in /srv/www/classes/data_convert.php on line 1090 PHP message: PHP Notice: Undefined index: Lastname in /srv/www/classes/data_convert.php on line 1090 PHP message: PHP Notice: 2015/11/23 10:30:02 [error] 32451#0: *580927 FastCGI sent in stderr: "ta_convert.php on line 1090 PHP message: PHP Notice: Undefined index: Firstname
你可以在第三行(从之前的20个错误)中看到缓冲区限制被打破,并且下一个线程在它上面写入。 然后Nginx关闭连接并返回502给客户端。
2:记录每个请求发送的所有头文件,检查它们并确保它们符合标准(nginx不允许超过24小时的任何内容删除/失效一个cookie,发送无效的内容长度,因为在计算内容之前缓冲了错误消息。 ..)
例子包括:
<?php //expire cookie setcookie ( 'bookmark', '', strtotime('2012-01-01 00:00:00') ); // nginx will refuse this header response, too far past to accept .... ?>
和这个:
<?php header('Content-type: image/jpg'); ?> <?php //a space was injected into the output above this line header('Content-length: ' . filesize('image.jpg') ); echo file_get_contents('image.jpg'); // error! the response is now 1-byte longer than header!! ?>
1:验证或创建一个脚本日志,以确保您的线程到达正确的终点,并在完成之前不退出。