Nginx establece una variable condicionalmente

Nginx establece una variable condicionalmente

Quiero permitir cargas de 1 GB en un subdominio específico de mi sitio llamado upload.xxx.xx.xx.

Actualmente estoy intentando algo como:

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

Pero claro me da error sobre que client_max_body_sizese supone que no debe estar ahí.

¿Hay alguna manera de lograr lo que quiero sin duplicar los dos vhost? De lo contrario, todas las configuraciones son iguales o, por otro lado, no debería molestarme en tomarme la molestia de asegurarme de que el usuario solo pueda cargar más de 10 MB en el uploadsubdominio. ?

Respuesta1

No estoy seguro de si funciona específicamente con client_max_body_size, pero, en general, nginx permite hacer exactamente lo que usted describe.

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

información relacionada