Nginx geo variável não está funcionando na cláusula if

1

Usando o Nginx 1.4.6, Ubuntu 14.04 LTS. Eu tenho isso na seção http de nginx.conf :

geo $maintenance {
    default         1;
    86.161.27.175   0;
}

Na configuração do meu site eu tenho isto:

error_page 503 /static/errors/503.html;
location /mydir/ {
    if ($maintenance) {
        return 503;
    }
    try_files $uri $uri/ =404;
}

No entanto, estou sempre recebendo um erro 503 ao visualizar /mydir/ no meu site, mas, para meu IP, isso não deveria estar acontecendo. Eu verifiquei duas vezes e esse é definitivamente o meu IP atual. Eu tenho outra seção geográfica para limitar a taxa que está funcionando bem. Definir manualmente $maintenance para 0 logo acima do bloco de localização funciona bem.

Por que isso não está funcionando?

    
por DisgruntledGoat 24.03.2016 / 16:26

1 resposta

0

Encontrei o problema: eu tinha o CloudFlare ligado para o meu site de teste, por isso recebi um IP do CloudFlare, não o meu IP real. D'oh!

    
por 24.03.2016 / 18:25

Tags