Nginx PHP-FPM Basic Auth

前端之家收集整理的这篇文章主要介绍了Nginx PHP-FPM Basic Auth前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我在Debian Squeeze上安装了PHP-fpm的Nginx.
目录树是:

> / var / www / mysite

> index.PHP
> secret_folder_1

> admin.PHP
> static.html

> secret_folder_2

> admin.PHP
> static.html

>图片
> img01.jpg

我需要使用basic_auth关闭secret_folder_1和secret_folder_2.
现在配置看起来像:

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变量而不是hardcoded / var / www / mysite /来定义SCRIPT_FILENAME参数:

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

猜你在找的Nginx相关文章