Corrigi minha configuração e consegui o que queria:
server {
listen 80;
server_name jpmelos.com;
root /var/html/jpmelos.com/public;
index index.html;
autoindex off;
location / {
try_files $uri $uri/ @redirect;
}
location @redirect {
auth_basic on;
auth_basic_user_file /htpasswd/jpmelos;
root /var/html/jpmelos.com;
}
}
Mova a primeira diretiva raiz para o bloco server
, só porque é uma boa prática. Em seguida, mova a diretiva index
também, para evitar a repetição. Em seguida, altere a diretiva try_files
. Isso tentará $uri
file, depois o $uri
diretório usando a diretiva index
e, em seguida, redirecionando.
Ao redirecionar, defina as configurações de autenticação e atualize a raiz para o novo valor, apenas para o bloco location
.