tomcat整合nginx成功后,等访问一段时间后,会出现
Bad Request (Invalid Hostname)的错误,
因为是已经成功的配置,所以判定可能是哪里的限制设置有问题,最后在官方网站找到解决办法:
语法: | large_client_header_buffers |
默认值: |
large_client_header_buffers 4 8k; |
上下文: | http , server |
设置读取客户端请求超大请求的缓冲最大number(数量)
和每块缓冲的size(容量)
。 HTTP请求行的长度不能超过一块缓冲的容量,否则nginx返回错误414 (Request-URI Too Large)到客户端。 每个请求头的长度也不能超过一块缓冲的容量,否则nginx返回错误400 (Bad Request)到客户端。 缓冲仅在必需是才分配,默认每块的容量是8K字节。 即使nginx处理完请求后与客户端保持入长连接,nginx也会释放这些缓冲。
也就是设置一下
large_client_header_buffers就可以了.
补充:
因为之前用的是一个顶级域名zicheng.net,在搜索别人的问题时看到了一个回答,这样的域名会被解析出问题,最后换成一个二级域名hw.zicheng.net.这个Bad Request错误基本就没出现过了.