Nginx устанавливает переменную условно

Nginx устанавливает переменную условно

Я хочу разрешить загрузку 1 ГБ на определенном поддомене моего сайта под названием upload.xxx.xx.xx.

В настоящее время я пробую что-то вроде:

server {
    if ( $host = 'upload.xxx.xx.xx' ) {
           client_max_body_size 1000M;
    }
}

Но, конечно, это выдает мне ошибку о том, что этого client_max_body_sizeтам не должно быть.

Есть ли способ добиться того, чего я хочу, не дублируя два vhostфайла, в остальном все настройки одинаковы, или, с другой стороны, мне не стоит беспокоиться о том, чтобы пользователь мог загружать на uploadподдомен только файлы размером более 10 МБ?

решение1

Я не уверен, работает ли это конкретно с client_max_body_size, но, в целом, nginx позволяет делать именно то, что вы описываете.

server {
    set $cmbs 100K;
    if ( $host = 'upload.xxx.xx.xx' ) {
           set $cmbs 1000M;
    }
    client_max_body_size $cmbs;
}

Связанный контент