【问题标题】:Nginx Basic Auth and subfoldersNginx 基本身份验证和子文件夹
【发布时间】:2013-07-11 21:04:38
【问题描述】:

我对基本身份验证文件夹中的子文件夹有疑问。在受保护的文件夹中,我有一个名为 phpmyadmin 的文件夹,其中包含 phpmyadmin。激活基本时,我无法运行 phpmyadmin。当我调用文件夹时,我得到一个另存为对话框(类型:应用程序/八位字节流(18,3 KB))。

这里是 mysites-available/default 的重要部分

location ^~ /administration/ {
    auth_basic            "Restricted Area";
    auth_basic_user_file  /var/www/myproject/sec/htpasswd;
}

location ~ \.php$ {
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
}

任何想法,我如何在基本身份验证保护的子文件夹中运行 php?

【问题讨论】:

    标签: php nginx fastcgi basic-authentication password-protection


    【解决方案1】:

    您可以在 /administration/ 块内重复 location ~ \.php$ 块。

    作为一种解决方法,我也成功地使用了这个设置,这样我就不用在复杂的场景中一遍又一遍地重复 PHP 配置。

    location ^~ /administration/ {
        auth_basic            "Restricted Area";
        auth_basic_user_file  /var/www/myproject/sec/htpasswd;
        location ~ \.php$ {
            try_files /dummy/$uri @php;
       }
    }
    
    location ~ \.php$ {
        try_files /dummy/$uri @php;
    }
    
    location @php {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }
    

    它基本上使用named location 进行PHP 配置。不幸的是,您不能在任何地方使用这样的位置。但它适用于try_files。您应该确保您的服务器上没有目录/dummy/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 2018-01-11
      • 2016-01-11
      • 2017-09-23
      • 1970-01-01
      相关资源
      最近更新 更多