使用 Nginx 在页面上进行基本身份验证

使用 Nginx 在页面上进行基本身份验证

我只想将其应用于 index.php 页面,而不是目录。可以吗?配置文件应该如何?

location /images {
  auth_basic "Restricted";
  auth_basic_user_file /qqqq/.htpasswd;
}

答案1

您需要为 index.php 构建一个不适用于文件夹的位置。我猜是这样的(使用您的 auth 语法,因为我从来不需要使用 auth)

location /index.php {
  auth_basic "Restricted";
  auth_basic_user_file /qqqq/.htpasswd;
}

location /images {
  // Whatever
}

答案2

就你的情况而言,我认为这应该能满足你的需求。配置文件应该存储在 Web 根目录之外。例如在 /etc/ngnix 中:

location /images/index.php {
  auth_basic "Restricted";
  auth_basic_user_file /etc/nginx/.htpasswd;
}

要填充 .htpasswd 文件,请执行以下操作:

sudo htpasswd -c /etc/nginx/.htpasswd my_username

相关内容