![Autenticación básica Nginx PHP-FPM](https://rvso.com/image/568267/Autenticaci%C3%B3n%20b%C3%A1sica%20Nginx%20PHP-FPM.png)
nginx
Lo tengo php-fpm
instalado en Debian Squeeze
.
El árbol de directorios es:
- /var/www/misitio
- index.php
- carpeta_secreta_1
- administrador.php
- estático.html
- carpeta_secreta_2
- administrador.php
- estático.html
- fotos
- img01.jpg
Necesito cerrar secret_folder_1
y secret_folder_2
con basic_auth
. Ahora la configuración se ve así:
location ~ /secret_folder_1/.+\.php$
{
root /var/www/mysite/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /var/www/mysite$fastcgi_script_name;
include fastcgi_params;
auth_basic "Restricted Access";
auth_basic_user_file /path/to/.passwd;
}
location ~ /secret_folder_1/.*
{
root /var/www/mysite/;
auth_basic "Restricted Access";
auth_basic_user_file /path/to/.passwd;
}
Misma configuración para secret_folder_2
.
¿Es normal? Quiero decir, la primera ubicación para entregar php
archivos en una carpeta restringida y la segunda ubicación para entregar archivos estáticos.
¿Se puede simplificar?
Respuesta1
Las ubicaciones anidadas pueden ser mejores:
location /secret_folder_1 {
root /var/www/mysite/;
auth_basic "Restricted Access";
auth_basic_user_file /path/to/.passwd;
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi.conf;
}
}
Tenga en cuenta que debe definir el parámetro SCRIPT_FILENAME con $document_root
una variable en lugar de codificado /var/www/mysite/
:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;