Página de manutenção Nginx excluir determinado IP

2
location / {

#               if($remote_addr != 99.99.99.99){
                        return 503;
#               }
}

A atual página 503 funciona bem, mas se eu tentar adicionar a exclusão de IP como acima

em nginx restart eu recebo após erro

 nginx: [emerg] unknown directive "if($remote_addr" in /etc/nginx/sites-enabled/mysite:74

todos os pontos do guia on-line para usar o $ remote_addr como acima, há alguma razão pela qual o meu não funcione?

ATUALIZADO

atualmente, isso mostra manutenção para todos os visitantes, incluindo os 99 (sim, eu os substituí pelo meu IP real).

map $remote_addr $condition {
        default 1;
        99.99.99.99 0;
}
Server{
        location / {
                if ($condition) {
                        return 503;
                }
        }
}

também usando remote_host eu recebo a variável nginx unknown "remote_host",

ainda não conseguiu excluir meu IP de 503

    
por Eudemon 26.10.2018 / 03:31

1 resposta

3

Eu usei o módulo de mapa nginx para a exceção de manutenção periódica.

Por exemplo:

  1. mapear $ remote_host para $ maint_except


map $remote_host $maint_switch {
    default       1;

99.99.99.99   0;

  1. Verifique $ maint_switch em vez de $ remote_addr
location / { if ($maint_switch) { return 503; } }
    
por 26.10.2018 / 04:12

Tags