nginx log 错误502 upstream sent too big header while reading response header from upstream

cookies的值超出了范围我是说php

看看了一下日志html

错误502 upstream sent too big header while reading response header from upstream

 

sudo gedit /var/log/nginx/error.lognginx

查看错误日志web

 

 

upstream sent too big header while reading response header from upstreamcookie

你去搜这个错误,网上的解释都差很少,无外乎是cookie携带的header太多了,让你设置:负载均衡

fastcgi_buffer_size 128k;
fastcgi_buffers 8 128k;spa

逐步尝试。其中fastcgi_buffers 8 128k 这句,fastcgi_buffers 32 32k 这样更好,内存是整块分配和释放的,减小单位k数能尽量利用。日志

另外,若是你用nginx作负载均衡的话,改了上述参数是没用的,要在转发的配置上,好比如下设置:htm

 

location @to_other {blog

                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;

    }

相关文章
相关标签/搜索