我正在使用Nginx在10个Mongrel服务器前端。
当我发送大小大于2900的请求时,我会得到以下错误:
错误代码414:uri过长
有谁知道nginx配置文件中确定允许uri长度的设置?
我正在使用Nginx在10个Mongrel服务器前端。
当我发送大小大于2900的请求时,我会得到以下错误:
错误代码414:uri过长
有谁知道nginx配置文件中确定允许uri长度的设置?
来源:http://nginx.org/r/large_client_header_buffers
语法:
large_client_header_buffers
数值
大小
;
默认值:large_client_header_buffers 4 8k;
上下文: http,server设置用于读取大型客户端请求头的缓冲区的最大数量和大小。一个请求行的大小不能超过一个缓冲区的大小,否则将向客户端返回 414(Request-URI Too Large)错误。一个请求头字段的大小也不能超过一个缓冲区的大小,否则将向客户端返回 400(Bad Request)错误。这些缓冲区仅在需要时分配。默认情况下,缓冲区大小为 8K 字节。如果连接在请求处理结束后转换为 keep-alive 状态,则会释放这些缓冲区。
因此,您需要根据自己的需求将该行末尾的大小参数更改为更大的值。
如果在https://forge.laravel.com上遇到问题,我综合了一些 Stack Overflow 的答案并成功解决了这个问题。您需要sudo密码。
sudo nano /etc/nginx/conf.d/uploads.conf
使用以下内容替换原内容:
fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
client_max_body_size 24M;
client_body_buffer_size 128k;
client_header_buffer_size 5120k;
large_client_header_buffers 16 5120k;
我曾经遇到类似的问题,但出现了不同的错误
读取上游响应头时,上游服务器发送的头部过大
为了解决这个问题,我已经做出了如下修改
server {
....
proxy_buffers 4 32k;
proxy_buffer_size 32k;
...
}
如需更多信息,请访问Nginx文档