• 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;

        }

  • 相关阅读:
    触发器操作:在触发器中嵌套多个游标
    哈 希 表 的 操 作
    类的覆盖
    java、数据库中命名规则
    html中文字移动命令大全(摘录)
    java中四种过滤器
    日常生活收缩毛孔几个小妙招 生活至上,美容至尚!
    收缩毛孔全过程,很详细! 生活至上,美容至尚!
    懒人的七种超级减肥方法 生活至上,美容至尚!
    晚上美容护肤10要诀 生活至上,美容至尚!
  • 原文地址:https://www.cnblogs.com/jackluo/p/3410739.html
Copyright © 2020-2023  润新知