client_max_body_size inside if

fox red-fox0 на ya.ru
Пн Ноя 11 14:32:51 UTC 2019


В разве не "if ($request_method = PUT )"?

11.11.2019 21:23, Михаил Монашёв пишет:
> Здравствуйте.
> 
> Оказалось, что client_max_body_size не работает внутри if-а .
> 
> Хотел  ограничивать размер GET- и POST-запросов, не ограничивая размер
> PUT-запросов,   поступающих   с  доверенных  ip.  Конфиг  планировался
> примерно такой:
> 
> server {
>         listen 80;
>         server_name xxxxx;
> 
>         expires 1y;
> 
>         location / {
>                 root /xxxx/yyyyy;
> 
>                 if ($request_method == PUT ) {
>                         client_max_body_size 0; # disable request size checks
>                 }
> 
>                 client_body_temp_path /xxxx/webdav-tmp;
> 
>                 dav_methods PUT DELETE MKCOL COPY MOVE;
>                 create_full_put_path on;
>                 dav_access user:rw group:rw all:r;
> 
>                 limit_except GET {
>                         allow 127.0.0.0/8;
>                         allow 10.0.0.0/8;
> 
>                         deny all;
>                 }
>         }
> }
> 
> Добавить  NGX_HTTP_LIF_CONF  в  ngx_http_core_module.c не проблема. Но
> если есть возможность менять client_max_body_size внутри if-ов в самом
> nginx-е,  было  бы здорово. Если против этого, конечно же, нет никаких
> возражений.
> 



Подробная информация о списке рассылки nginx-ru