加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

Nginx PHP-FPM Basic Auth

发布时间:2020-12-13 21:12:39 所属栏目:Nginx 来源:网络整理
导读:我在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. 现在配

我在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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读