NGINX: Permitir que os usuários protejam os diretórios de proteção de senha?
Pergunta
Até onde sei, o NGINX pode proteger apenas os diretórios de proteger dentro dos arquivos (s) de configuração (s). Isso funciona bem, mas não é uma opção real para os usuários finais que A) não pode editar as configurações e B) quebraria as configurações se pudessem
No momento, estou pensando em uma representação baseada na web da estrutura do diretório, onde eles podem apontar e clicar-reescrever as configurações e re-kill-hup-ing nginx ... mas de alguma forma toda a idéia parece que estou prestes a reescrever o CPanel V0. 0,1 ;-)
Alguém aqui teve o mesmo problema e criou uma solução elegante e sustentável? Eu tenho controle total sobre o servidor.
Obrigado!
Solução
Você realmente não quer que os usuários alterem as configurações, não é? Para a proteção de senha, um arquivo htpasswd é suficiente, se o reino sempre permanecer o mesmo. E o próprio Nginx pode verificar se há um arquivo existe. Então, é isso que poderia fazer o trabalho:
location ~ ^/([^/]*)/(.*) { if (-f $document_root/$1/.htpasswd) { error_page 599 = @auth; return 599; } } location @auth { auth_basic "Password-protected"; auth_basic_user_file $document_root/$1/.htpasswd; }
Funciona para mim com o nginx-0.7.65. 0.6.x e lançamentos anteriores provavelmente não são