NginX - permitir - página de erro personalizada

1

Isso é muito interessante, pessoal! Eu tenho o seguinte código em uma das configurações do NginX de meus webapplications:

    location /login {
            #access_log off;
            proxy_pass https://public;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For        $proxy_add_x_forwarded_for;
            proxy_set_header X-SSL-Client-Verify    $ssl_client_verify;
            proxy_set_header X-Client-S-DN          $ssl_client_s_dn;
            allow   10.0.0.31;
            deny all;
    }

Como você pode ver, desejo negar todas as conexões à interface de login, mas um endereço IP. Isso funciona como um encanto e mostra a mensagem de erro NginX 403 padrão quando tento conectar de outro IP. Agora vem o kicker. Se eu adicionar uma linha de mensagem de erro personalizada TODA OPÇÃO ALLOW / DENY ESTÁ SENDO IGNORADA!

Eu adicionei:

    error_page 403 /40x.html;

OFC Criei um arquivo personalizado para /usr/shar/nginx/html e o arquivo existe. Não há mensagem de erro no NginX, mas se eu adicionar a linha superior à configuração webapplication (ou ao nginx.conf padrão, não importa), as regras que defini para IPs permitidos e deny all estão sendo ignoradas completamente. O que da? Alguém tem alguma idéia de como fornecer aos usuários uma página de erro personalizada do NginX e manter o & allow; negar opções?

    
por Bert 08.10.2018 / 10:27

1 resposta

0

OK, o sollution era criar não apenas uma opção de página de erro personalizada, mas também um local de página de erro. Então eu só tive que adicionar:

    error_page 403 /40x.html;
            location = /40x.html {
            root    /usr/share/nginx/html;
            allow   all;
    }

E voile ... Droga NginX! Por que você me decepciona tantas vezes? : D

    
por 08.10.2018 / 11:03