![Autenticação básica Nginx PHP-FPM](https://rvso.com/image/568267/Autentica%C3%A7%C3%A3o%20b%C3%A1sica%20Nginx%20PHP-FPM.png)
Eu tenho nginx
instalado php-fpm
em Debian Squeeze
.
A árvore de diretórios é:
- /var/www/meusite
- index.php
- pasta_secreta_1
- admin.php
- estático.html
- pasta_secreta_2
- admin.php
- estático.html
- fotos
- img01.jpg
Eu preciso fechar secret_folder_1
e secret_folder_2
com basic_auth
. Agora a configuração se parece com:
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;
}
Mesma configuração para secret_folder_2
.
Isso é normal? Quero dizer, primeiro local para servir php
arquivos em pasta restrita e segundo local para servir arquivos estáticos.
Pode ser simplificado?
Responder1
Os locais aninhados podem ser melhores:
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;
}
}
Observe que você deve definir o parâmetro SCRIPT_FILENAME com $document_root
variável em vez de codificado /var/www/mysite/
:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;