Defina condicionalmente client_max_body_size

1

Estou tentando definir client_max_body_size condicionalmente. Eu segui a configuração sugerida na resposta para Nginx definir uma variável condicionalmente , mas não está funcionando para mim.

O seguinte arquivo de configuração é suficiente para reproduzir:

daemon off;
worker_processes 1;
error_log /dev/stderr debug;
events {
  worker_connections 1024;
}
http {
  access_log /dev/stdout;
  server {
    listen 80;
    location /test {
      set $cmbs 1m;
      if ($arg_long) {
        set $cmbs 5m;
      }
      client_max_body_size $cmbs;
      echo $cmbs;
    }
  }
}

Quando tento iniciar o Nginx com essa configuração, ele pára e reclama

nginx: [emerg] "client_max_body_size" directive invalid value in /opt/nginx/nginx.conf:16

Se eu remover a diretiva incorreta, o Nginx iniciará e ecoarei o valor de configuração da maneira esperada.

Estou executando o openresty / 1.7.10.1. Eu também tentei a pequena configuração acima no nginx / 1.9.4.

    
por Nathaniel Waisbrot 14.09.2015 / 20:46

1 resposta

3

O Nginx a partir da versão 1.9.4 não suporta a variável client_max_body_size.

    
por 14.09.2015 / 21:42

Tags