auth_basic_user_file
auth_basic_user_file 指令指定一个包含用于 HTTP 基本认证的用户名和密码哈希的文件。 — NGINX HTTP Core
auth_basic_user_file
httpserverlocationlimit_except
语法auth_basic_user_file file;
默认值none
上下文http, server, location, limit_except
模块NGINX HTTP Core
参数1
说明
该 `auth_basic_user_file` 指令通常与 `auth_basic` 指令结合使用,后者在特定上下文中启用基本认证。 当用户向配置了基本认证的 NGINX 服务器发出请求时,服务器会检查是否存在 `auth_basic_user_file` 指令。如果存在,服务器会读取指定的文件,将客户端提交的用户名和密码与存储的哈希进行校验。该文件必须采用特定格式,每一行包含用户名及随后跟随的密码哈希,这些哈希可以使用诸如 `htpasswd`(来自 Apache HTTP Server 套件)等工具生成。认证过程旨在限制对特定资源的访问,确保只有有效用户可以访问这些资源。 重要的是确保用户文件被安全存储并且不可公开访问,以防止未授权访问其中的敏感凭据。此外,NGINX 通过支持各种密码学哈希算法来增强安全性,从而使攻击者更难以攻破用户账户。
配置示例
location /secret {
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/.htpasswd;
}⚠
用户文件必须可被 NGINX 进程读取;请确保已设置正确的文件权限。
⚠
必须严格遵循用户文件的格式(username:hashed_password)。
⚠
如果用户文件的路径不正确,身份验证将失败,从而允许未授权访问。