【发布时间】:2010-11-07 05:30:11
【问题描述】:
我在 10 个杂种面前使用 Nginx。
当我发出大于 2900 的请求时,我会返回:
错误代码 414:uri 太大
有谁知道 nginx 配置文件中决定允许的 uri 长度的设置吗?
【问题讨论】:
标签: nginx webserver http-request
我在 10 个杂种面前使用 Nginx。
当我发出大于 2900 的请求时,我会返回:
错误代码 414:uri 太大
有谁知道 nginx 配置文件中决定允许的 uri 长度的设置吗?
【问题讨论】:
标签: nginx webserver http-request
发件人:http://nginx.org/r/large_client_header_buffers
语法:
large_client_header_buffersnumbersize;
默认值:large_client_header_buffers 4 8k;
上下文: http,服务器设置用于读取大型客户端请求标头的缓冲区的最大
number和size。一个请求行不能超过一个缓冲区的大小,否则返回414(Request-URI Too Large)错误给客户端。请求头字段也不能超过一个缓冲区的大小,否则会向客户端返回 400 (Bad Request) 错误。缓冲区仅按需分配。默认情况下,缓冲区大小等于 8K 字节。如果在请求处理结束后连接转换为保持活动状态,则释放这些缓冲区。
因此您需要将该行末尾的 size 参数更改为更大的参数以满足您的需要。
【讨论】:
对于在https://forge.laravel.com 上遇到此问题的任何人,我设法使用 SO 答案的汇编来解决此问题;
您将需要 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-doc
【讨论】: