client_max_body_size inside if
Михаил Монашёв
postmaster на softsearch.ru
Пн Ноя 11 14:23:55 UTC 2019
Здравствуйте.
Оказалось, что 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-е, было бы здорово. Если против этого, конечно же, нет никаких
возражений.
--
С уважением,
Михаил mailto:postmaster at softsearch.ru
Подробная информация о списке рассылки nginx-ru