nginx的header过大问题

  • A+
所属分类:配置

线上某业务发现了一些400和413请求:request header or cookie too large

之前在cookie转存业务的时候,也是因为cookie头信息过大,导致访问出现400错误,调整了以下参数当时错误消失了

proxy_buffer_size 64k;
proxy_buffers 8 64k;
proxy_busy_buffers_size 128k;

但是这三个参数只是在server段,针对upstream转发生效。

而这次域名的错误,还未匹配到域名,直接把400错误记录到了default flagyl dosage.log中。尝试添加下面2个参数:

client_header_buffer_size 64k;
large_client_header_buffers 8 64k;

在vhosts的主机头(server段)中,但是没有生效。最大header经过测试依旧是8192字节。
之后把这两个参数添加到nginx主配置的http段中,才正常生效。不再出现header too large的错误。
官方文档写的是这两个参数http和server段可用,可能是个bug。

官方文档参考:
http://wiki.nginx.org/HttpCoreModule#client_header_buffer_size
http://wiki.nginx.org/HttpCoreModule#large_client_header_buffers

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • eggfly eggfly 1
      Google Chrome 28.0.1496.0 Google Chrome 28.0.1496.0 Windows 8 x64 Edition Windows 8 x64 Edition

      一针见血的评论:没看懂..作为程序员我表示和运维有代沟..