Voglio proteggere una cartella del mio sito Web con una password usando auth_basic. Questa cartella contiene script php che dovrebbero essere eseguiti se richiesti.nginx: auth_basic e php
ho provato la seguente:
location /admin {
auth_basic "Admin-Section";
auth_basic_user_file /myfolder/.htpasswd;
}
location ~ ^/admin/.*\.php$ {
auth_basic "Admin-Section";
auth_basic_user_file /myfolder/.htpasswd;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
mi verrà chiesto nome utente/password quando si richiede PHP-script in quella admin-cartella, ma i php-script sarà sempre scaricato invece di essere eseguito tramite FastCGI .
Cosa sto sbagliando?
MODIFICA: sulla mia macchina locale tutto funziona correttamente con questa configurazione. o0
EDIT: BTW, php funziona fuori dalla cartella admin con le stesse opzioni di fastcgi.
MODIFICA: OMG! La configurazione del sito è stata memorizzata in/etc/nginx/sites-available/mysite e/etc/nginx/sites-enabled/conteneva un link simbolico al file mysite. Da qualche tempo la modifica del file mysite non ha avuto alcun effetto. Per esempio. cambiare tutte le posizioni per "negare tutto" non ha avuto alcun effetto. I file sono stati inviati senza problemi.
Quindi ho rimosso il collegamento simbolico e riavviato il server. Quindi ho creato nuovamente il link simbolico, riavviato il server e tutto funziona come previsto. Qualcuno può spiegare il comportamento strano?
riguarda Gest,
Biggie
Questa è una linea necessaria quando php-fpm è in esecuzione in un chroot jail. – Zenexer