将身份验证限制为 Nginx 中的特定用户名

bha*_*icp 7 nginx apache-2.2

是否可以将 Nginx 中的身份验证限制为特定用户名?即我有多个子域,并希望将该子域限制为只有 1 个用户。所有用户都在 1 个 .htpassword 文件中。在 Apache 中,您可以执行以下操作:

AuthType Basic
AuthName "Restricted Files"
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require user rbowen
Run Code Online (Sandbox Code Playgroud)

但是我一直无法在 Nginx 中找到类似的方法。

这就是我当前的 Nginx 设置。我在每个用户的每个 server {} 块中都有一个。

auth_basic "Restricted";
auth_basic_user_file /usr/local/apache/passwd/passwords;
Run Code Online (Sandbox Code Playgroud)

Xav*_*cas 6

如果我很好地理解了这个问题,您有一个包含多个用户名和密码的文件,并且您希望将每个服务器块的该文件中的身份验证限制为特定用户并保持配置集中?

不幸的是,你不能用 nginx 做到这一点,你需要将文件拆分成多个只包含一个用户:密码对的文件。