Como configurar o nginx para proteger com senha pastas contendo um arquivo .htpasswd?

1

Gostaria de poder descartar um arquivo .htpasswd em uma pasta servida por nginx para que o nginx proteja o respectivo location usando HTTP auth basic.

Estou pensando em uma configuração como esta:

server {
        listen 80 default_server;
        listen [::]:80 default_server;
        server_name _;

        root /var/www;

        index index.html index.htm;
        location / {
                try_files $uri $uri/ =404;
        }

        ##########################################
        ############################# note below

        location <any folder that contains a .htpasswd file> {
                auth_basic "Authentication Required";
                auth_basic_user_file <respective folder>/.htpasswd;
        }

        ############################# note above
        ##########################################

        location ~ /\. { deny all; } # disable access to .htpasswd
}

Existe a possibilidade de combinar um location pela existência de um arquivo em sua pasta do sistema operacional equivalente? E é possível derivar o caminho de tal forma que ele possa ser alimentado para auth_basic_user_file ?

Se não, há outra maneira de realizar uma configuração que atenda ao mesmo objetivo?

    
por Hauke P. 20.08.2017 / 16:00

0 respostas

Tags