Nginx
Nginx PHP-FPM 基本認證
我已經
nginx
安裝php-fpm
在Debian Squeeze
.目錄樹是:
/var/www/mysite
索引.php
秘密文件夾 1
- 管理員.php
- 靜態.html
secret_folder_2
- 管理員.php
- 靜態.html
圖片
img01.jpg
我需要關閉
secret_folder_1
並secret_folder_2
使用basic_auth
. 現在配置看起來像: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; }
相同的配置
secret_folder_2
。正常嗎?我的意思是,
php
在受限文件夾中提供文件的第一個位置,以及提供靜態文件的第二個位置。可以簡化嗎?
嵌套位置可能更好:
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; } }
請注意,您應該使用
$document_root
變數而不是硬編碼來定義 SCRIPT_FILENAME 參數/var/www/mysite/
:fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;