当前位置: 首页 > 配置 > 正文

nginx的header过大问题

线上某业务发现了一些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

本文固定链接: https://www.cornercat.org/2013/05/nginx%e7%9a%84header%e8%bf%87%e5%a4%a7%e9%97%ae%e9%a2%98/ | 墙角的小猫's Blog

该日志由 cornercat 于2013年05月03日发表在 配置 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: nginx的header过大问题 | 墙角的小猫's Blog
关键字: , ,

nginx的header过大问题:目前有1 条留言

  1. 沙发
    eggfly:
    Google Chrome 28.0.1496.0 Google Chrome 28.0.1496.0 Windows 8 x64 Edition Windows 8 x64 Edition

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

    2013-05-03 下午1:43 [回复]

发表评论


快捷键:Ctrl+Enter
欢迎光临~
柚子