Tomcat整合Nginx成功后,等访问一段时间后会出现 Bad Request (Invalid Hostname)的错误。 因为是已经成功的配置,所以判定可能是哪里的限制设置有问题,最后在官方网站找到解决办法: 语法: large_client_header_buffers number size; 默认值: 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错误基本就没出现过了。 (责任编辑:IT) |