代码之家  ›  专栏  ›  技术社区  ›  Prakash Raman

如何为nginx请求设置允许的URL长度(错误代码:414,URI太大)

  •  46
  • Prakash Raman  · 技术社区  · 16 年前

    我在10个杂种面前使用nginx。

    当我提出一个尺寸大于2900的请求时,我会得到一个:

    错误代码414:URI太大

    有人知道nginx配置文件中决定允许的URI长度的设置吗?

    2 回复  |  直到 7 年前
        1
  •  77
  •   Stobor    9 年前

    来自: http://nginx.org/r/large_client_header_buffers

    Syntax: large_client_header_buffers number size ;
    违约: large_client_header_buffers 4 8k;
    语境: 服务器端

    设置最大值 大小 用于读取大型客户端请求头的缓冲区。请求行不能超过一个缓冲区的大小,或者向客户端返回414(请求URI太大)错误。请求头字段也不能超过一个缓冲区的大小,否则将向客户端返回400(错误请求)错误。缓冲区仅按需分配。默认情况下,缓冲区大小等于8K字节。如果在请求处理结束后,连接转换为保持活动状态,则释放这些缓冲区。

    因此,您需要将该行末尾的大小参数更改为更大的参数,以满足您的需要。

        2
  •  0
  •   Luke Snowden    7 年前

    对于任何对此有问题的人 https://forge.laravel.com 我设法用一个这样的答案汇编来完成这项工作;

    您需要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;