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