É impossível fazer no lado nginx, porque nginx auth_basic_user_file não permite usar variáveis.
Olá, membros do Serverfault.
Eu quero que meu NginX use um arquivo .htpasswd opcional. A razão é que minha configuração serve dinamicamente o conteúdo da web. Baseado em $ http_host.
Então, tentei o seguinte:
if (-f "/foo/$http_host/.htpasswd") {
auth_basic "Restricted";
auth_basic_user_file "/foo/$http_host/.htpasswd";
}
Mas isso não funciona porque auth_basic
não é permitido dentro de um if
.
Se eu usar apenas as duas linhas auth_basic, ele me mostrará um 403 para o webcontent sem .htpasswd.
Existe a possibilidade de conseguir isso sem usar um arquivo de configuração separado para o conteúdo protegido?