修复Nginx报错:upstream sent too big header while reading response header from upstream
2014-12-08 13:41
836 查看
在
重启后一般就可以解决,如果还是报502,再在host配置的php段加入下面配置:
重启nginx即可。
参考:
http://hi.baidu.com/wastorode/item/ec86ade6ac0af7a2c10d75f4 http://stackoverflow.com/questions/13894386/upstream-too-big-nginx-codeigniter
sudo gedit /var/log/nginx/error.log
查看错误日志
upstream sent too big header while reading response header from upstream
你去搜这个错误,网上的解释都差不多,无外乎是cookie携带的header太多了,让你设置:
fastcgi_buffer_size 128k;
fastcgi_buffers 8 128k;
逐步尝试。其中fastcgi_buffers 8 128k 这句,fastcgi_buffers 32 32k 这样更好,内存是整块分配和释放的,减少单位k数能尽可能利用。
另外,如果你用nginx做负载均衡的话,改了上述参数是没用的,要在转发的配置上,比如以下设置:
location @to_other {
proxy_buffer_size 128k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
add_header X-Static transfer;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://backend; #请求转发
}
加粗的三行才会起作用。
fastcgi_* 可以理解成nginx接受client请求时的响应使用的。proxy是nginx作为client转发时使用的,如果header过大,超出了默认的1k,就会引发上述的upstream sent too big header。
可以参考:
http://wiki.nginx.org/NginxHttpProxyModule http://blog.sina.com.cn/s/blog_5dc960cd0100i4mt.html
其它搜索结果可以无视,都是大同小异的。
location ~ \.php$ {
fastcgi_buffer_size 128k;
fastcgi_buffers 32 32k;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /host/web/$fastcgi_script_name;
}
nginx.conf的http段,加入下面的配置:
proxy_buffer_size 128k; proxy_buffers 32 32k; proxy_busy_buffers_size 128k;
重启后一般就可以解决,如果还是报502,再在host配置的php段加入下面配置:
fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k;
重启nginx即可。
参考:
http://hi.baidu.com/wastorode/item/ec86ade6ac0af7a2c10d75f4 http://stackoverflow.com/questions/13894386/upstream-too-big-nginx-codeigniter
sudo gedit /var/log/nginx/error.log
查看错误日志
upstream sent too big header while reading response header from upstream
你去搜这个错误,网上的解释都差不多,无外乎是cookie携带的header太多了,让你设置:
fastcgi_buffer_size 128k;
fastcgi_buffers 8 128k;
逐步尝试。其中fastcgi_buffers 8 128k 这句,fastcgi_buffers 32 32k 这样更好,内存是整块分配和释放的,减少单位k数能尽可能利用。
另外,如果你用nginx做负载均衡的话,改了上述参数是没用的,要在转发的配置上,比如以下设置:
location @to_other {
proxy_buffer_size 128k;
proxy_buffers 32 32k;
proxy_busy_buffers_size 128k;
add_header X-Static transfer;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://backend; #请求转发
}
加粗的三行才会起作用。
fastcgi_* 可以理解成nginx接受client请求时的响应使用的。proxy是nginx作为client转发时使用的,如果header过大,超出了默认的1k,就会引发上述的upstream sent too big header。
可以参考:
http://wiki.nginx.org/NginxHttpProxyModule http://blog.sina.com.cn/s/blog_5dc960cd0100i4mt.html
其它搜索结果可以无视,都是大同小异的。
location ~ \.php$ {
fastcgi_buffer_size 128k;
fastcgi_buffers 32 32k;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /host/web/$fastcgi_script_name;
}
相关文章推荐
- 修复Nginx报错:upstream sent too big header while reading response header from upstream
- 修复upstream sent too big header while reading response header from upstream
- 修复Nginx 502错误:upstream sent too big header while reading response header from upstream
- nginx 错误502 upstream sent too big header while reading response header from upstream
- 1345#0: *640 upstream sent too big header while reading response header from upstream
- upstream sent too big header while reading response header from upstream
- 502错误. Nginx日志:upstream sent too big header while reading response header from upstream
- nginx 错误502 upstream sent too big header while reading response header from upstream
- nginx 错误502 upstream sent too big header while reading response header from upstream
- 错误502 upstream sent too big header while reading response header from upstream
- Nginx 错误502 upstream sent too big header while reading response header from upstream
- php-fpm upstream sent too big header while reading response header from upstream
- nginx log 错误502 upstream sent too big header while reading response header from upstream
- upstream sent too big header while reading response header from upstream
- 关于FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream的一次解决过
- upstream sent invalid header while reading response header from upstream 错误解决
- Nginx" upstream prematurely closed connection while reading response header from upstream"问题排查
- nginx upstream timed out (110: Connection timed out) while reading response header from upstream
- upstream prematurely closed connection while reading response header from upstream分析与解决
- php502问题解决:recv() failed (104: Connection reset by peer) while reading response header from upstream