每个http方法的nginx client_max_body_size

时间:2018-10-12 11:17:21

标签: nginx nginx-config

我正在尝试设置nginx,以将每个http方法的client_max_body_size分隔在一个位置,但是client_max_body_size不适用于“ if”和“ limit_except”:

1)配置:

location /test {
   limit_except POST {
      client_max_body_size 1g;
   }
   proxy_pass ...
}

nginx -s重新加载:

nginx: [emerg] "client_max_body_size" directive is not allowed here

2)配置:

location /test {
   if ($request_method !~* POST) {
      client_max_body_size 1g;
   }
   proxy_pass ...
}

我在重新加载时收到相同的消息。

如何为每个http方法设置client_max_body_size?

1 个答案:

答案 0 :(得分:0)

也许您可以通过定义upstream并使用proxy_pass在正确的条件下重定向来解决此问题:

http://nginx.org/en/docs/http/ngx_http_upstream_module.html