auth_digest
auth_digest 指令为 NGINX 启用摘要认证,允许对凭证进行安全传输。
Digest Authentication for NGINX
·
httpserverlocationlimit_except
语法auth_digest realm;
默认值none
上下文http, server, location, limit_except
参数1
说明
'auth_digest' 指令是 NGINX 中摘要认证模块的一部分,为在 HTTP 上保护用户凭证提供了一种方法。该指令至少需要一个参数来指定认证领域(authentication realm),这是认证过程中的关键。配置后,它负责管理和验证摘要认证流程,包括生成 nonce 值和处理客户端响应,以确保凭证不会以明文发送。
在使用 'auth_digest' 时,NGINX 会创建一个共享内存区来存储用户凭证、nonces 和相关数据,以便在多个 worker 进程之间协调认证。这对于在运行多个进程的环境中实现可扩展性至关重要。该指令可在多种上下文中使用(http、server、location、limit_except)来控制对应用不同区域的访问,通常放在 'location' 块中以保护特定资源。还可以设置附加参数,例如超时值和最大重试次数,以进一步自定义认证行为。
正确使用该指令需要理解摘要认证作为质询-响应(challenge-response)机制的工作原理,与基本认证相比能提高安全性。必须确保包含哈希凭证的用户文件存在,否则将导致认证失败。
配置示例
location /protected {
auth_digest "Restricted Area";
auth_digest_user_file /etc/nginx/.htdigest;
}⚠
确保包含哈希凭证的用户文件存在;否则,认证将失败。
⚠
注意 realm 字符串;它必须在客户端和服务器之间完全匹配,以确保正确的认证。
⚠
请注意共享内存设置;内存不足可能导致认证问题。