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!

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top