nginx允许模式的客户端最大主体大小

w41d8nur  于 2023-02-07  发布在  Nginx
关注(0)|答案(1)|浏览(158)

我试图达到这样的效果:

location /api/ {
    proxy_pass http://nest:3500;
    include nginxconfig.io/proxy.conf;

    if ($request_uri ~* ^/api/(a|b|e) ) {
        client_max_body_size 50m;
    }
}

但我得到的错误:

"client_max_body_size" directive is not allowed here in /etc/nginx/sites-available/cloud.conf:59

location /api/中如何允许特定路由的client_max_body_size?
谢谢

n3ipq98p

n3ipq98p1#

在位置/API/中如何允许特定路线的client_max_body_size?

使用2个定位块

可能需要进行其他更改,但只需使用2个位置块:
嵌套:

location /api/ {
    proxy_pass http://nest:3500;
    include nginxconfig.io/proxy.conf;

    location ~ ^/api/(a|b|e)/ {
        client_max_body_size 50m;
    }
}

或不:

location /api/ {
    proxy_pass http://nest:3500;
    include nginxconfig.io/proxy.conf;
}

location ~ ^/api/(a|b|e)/ {
    client_max_body_size 50m;

    proxy_pass http://nest:3500;
    include nginxconfig.io/proxy.conf;

}

这允许更好的控制,避免使用ifwhich is evil,并且很容易导致很多混乱/问题。

相关问题