1

我正在尝试将 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?

4

1 回答 1

0

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

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

于 2020-06-03T09:32:02.900 回答