针对get请求,我们可以通过修改两个配置来解决请求串超长的问题:
client_header_buffer_size
语法:client_header_buffer_size size
默认值:1k
使用字段:http, server
这个指令指定客户端请求的http头部缓冲区大小,绝大多数情况下一个头部请求的大小不会超过1k,不过如果有来自于wap客户端的较大的cookie它可能会超过1k,Nginx将分配给它一个更大的缓冲区,这个值可以在 large_client_header_buffers里面设置。
large_client_header_buffers
语法:large_client_header_buffers number size
默认值:4k/8k
使用字段:http, server
指令指定客户端请求的一些比较大的头文件到缓冲区的最大值,如果一个请求的URI大小超过这个值,服务 器将返回一个"Request URI too large" (414),同样,如果一个请求的头部字段大于这个值,服务器 将返回"Bad request" (400)。
那么有人就会觉得奇怪了,为什么修改http header的大小就能解决get请求串过长的问题呢, 这就要从http协议的get请求说起了,其实GET提交,请求的数据会附在URL之后(就是把数据放置在 HTTP协议头中)。
针对POST请求,我们可以调整如下两个配置项来解决:
client_body_buffer_size
语法:client_b
上一篇:Python模块和包