nginx log 錯誤502 upstream sent too big header while reading response header from upstream


cookies的值超出了范圍我是說

看看了一下日志

錯誤502 upstream sent too big header while reading response header from upstream

 

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;

    }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM