Nginx: consentire agli utenti di proteggere con password le directory di se stessi?
Domanda
A mia conoscenza Nginx può solo password di directory proteggere dalla all'interno del file di configurazione (s). Che funziona bene, ma non è una vera opzione per gli utenti finali che A) non può modificare il file di configurazione e B) si romperebbe il file di configurazione se potessero
In questo momento sto pensando a una rappresentazione basato su Web della struttura di directory in cui si può puntare e cliccare - riscrittura del file di configurazione Nginx e ri-kill-HUP-ing ... Ma in qualche modo l'intera idea si sente come sto per riscrivere cPanel v0.0.1; -)
Qualcuno qui ha avuto lo stesso problema e si avvicinò con una soluzione elegante e gestibile? Ho il pieno controllo del server.
Grazie!
Soluzione
Se non si desidera realmente agli utenti di modificare i file di configurazione, vero? Per protezione tramite password, un htpasswd-file è sufficiente, se il regno rimane sempre lo stesso. E nginx si può verificare la presenza di un file existense. Quindi, questo è quello che potrebbe fare il lavoro:
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; }
Opere per me con nginx-0.7.65. 0.6.x e versioni precedenti sono probabilmente no-go