配置 nginx 使用可选的 .htpasswd

配置 nginx 使用可选的 .htpasswd

你好,Serverfault 的成员。

我希望我的 NginX 使用可选的 .htpasswd 文件。原因是我的配置动态提供 web 内容。基于 $http_host。

因此我尝试了以下方法:

if (-f "/foo/$http_host/.htpasswd") {
    auth_basic "Restricted";
    auth_basic_user_file "/foo/$http_host/.htpasswd";
}

但这不起作用,因为auth_basic不允许在 内if。如果我只使用两行 auth_basic,它会显示没有 .htpasswd 的 webcontent 403。

是否有可能在不使用单独的配置文件来保护受保护的内容的情况下实现这一点?

答案1

在 nginx 端不可能做到这一点,因为 nginx auth_basic_user_file 不允许使用变量。

相关内容