Quiero proteger una carpeta de mi sitio web con una contraseña usando auth_basic. Esta carpeta contiene php-scripts que deben ejecutarse si se solicitan.nginx: auth_basic y php
He intentado lo siguiente:
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;
}
me pedirá el nombre de usuario/contraseña cuando se solicite el php-scripts en ese administrador-carpeta, pero los scripts PHP siempre va a ser descargado en lugar de ejecutarse a través de fastcgi .
¿Qué estoy haciendo mal?
EDITAR: En mi máquina local todo funciona bien con esta configuración. o0
EDITAR: Por cierto, php está trabajando fuera de la carpeta de administración con las mismas opciones de fastcgi.
EDIT: OMG! La configuración del sitio se almacenó en/etc/nginx/sites-available/mysite y/etc/nginx/sites-enabled/contenía un enlace simbólico al archivo mysite. Desde hace algún tiempo cambiando el archivo mysite no tuvo ningún efecto. P.ej. cambiar todas las ubicaciones para "denegar todo" no tuvo ningún efecto. Los archivos fueron enviados sin problemas.
Así que eliminé el enlace simbólico y reinicié el servidor. Luego creé el enlace simbólico nuevamente, reinicié el servidor y todo funciona como se esperaba. ¿Alguien puede explicar el comportamiento extraño?
respecto Gest,
Biggie
Esa es una línea necesaria cuando PHP-FPM se está ejecutando en una jaula chroot. – Zenexer