Passo a Passo para proteger um subdiretório no NGINX com htpasswd
Utilizando o dominio gorobei.net como exemplo, vou proteger o endereço https://gorobei.net/admin. No meu servidor os arquivos de configuração estão na pasta /etc/nginx/conf.d, por padrão o Nginx utiliza o links simbolicos na pasta /etc/nginx/sites-enabled que fazem referencia aos arquivos armazenados na pasta /etc/nginx/sites-available.
Edite o arquivo que no meu caso é o gorobei.conf
sudo vim /etc/nginx/conf.d/gorobei.net
Adicione o seguinte trecho dentro da diretiva server:
location /admin {
auth_basic "Acesso Restrito";
auth_basic_user_file /etc/nginx/.htpasswd;
}
Para criar os usuários é necessário instalar o utilitário htpasswd, no Ubuntu execute o comando:
sudo apt-get install -y apache2-utils
Com o utilitário instalado, precisamos criar o arquivo que apontamos na arquivo de configuração do Nginx (auth_basic_user_file) e definir o primeiro usuário a ser críado.
sudo htpasswd -c /etc/nginx/.htpasswd <usuario>
Logo seguida o terminal vai pedi que seja definida a senha do usuário a ser criado:
New password: Re-type new password:
Agora é só reiniciar o Nginx
sudo systemctl restart nginx
É isso, agora é só acesso https://gorobei.net/admin que será solicitado usuário e senha ver o contéudo do subdiretório.