现象:web网站配置负载均衡,使用nginx,有些页面可以,但是登陆后报502 bad gateway
原因:登陆后会有向客户端写cookie的操作导致header比普通访问要大
(可以根据nginx错误日志/usr/local/nginx/logs中upstream sent too big header while reading response header from upstream确定)
解决方案:
这是由于nginx缓冲区有一个bug造成的,我们网站的页面消耗占用缓冲区可能过大,我们是nginx反向代理
proxy是nginx作为client转发时使用的,如果header过大,超出了默认的1k,就会引发上述的upstream sent too big header (说白了就是nginx把外部请求给后端apache ,apache返回的header
#添加这3行 ,
............
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on
011/01/07 11:12:57 [error] 10770#0: *38585340 upstream timed out (110: Connection timed out) while reading response header from upstream,
后来原来那错误没了出了新错误了 upstream timed out 超时?
server {
参考链接:http://blog.csdn.net/21aspnet/article/details/9095531