auth_totp_file
`auth_totp_file` 指令指定用于 NGINX 内 TOTP 身份验证的 TOTP 配置文件的路径。
Time-based one-time password (TOTP) authentication for NGINX
·
httpserverlocationlimit_except
语法auth_totp_file ;
默认值none
上下文http, server, location, limit_except
参数1
说明
auth_totp_file 指令是启用 NGINX 中基于时间的一次性密码 (TOTP) 身份验证的关键配置选项。该指令接受一个文件路径作为参数,通常用于指示 NGINX 指向包含用于生成和验证 TOTP 令牌所需密钥和配置的特定配置文件。TOTP 机制通过生成仅在有限时间内有效的密码来增强安全性,因此要求用户定期重新生成代码进行身份验证。
当对受保护的位置发出请求时,NGINX 会将提供的 TOTP 与指定文件中定义的 secrets 进行核对。如果 TOTP 有效且与预期的身份验证时间窗口匹配,则允许该请求继续。此步骤对于保护敏感资源防止未授权访问至关重要。通过 auth_totp_file 引用的文件应按照特定格式进行组织,详细说明键值对,其中键可能表示用户标识符,值则包含用于 TOTP 生成的相应密钥。
此指令可包含在多个上下文中——即 http、server、location 和 limit_except——从而在 NGINX 配置的不同层级中提供应用灵活性。要有效使用此指令,提供的文件路径必须对 NGINX 进程可访问,并且应设置适当的权限以避免对敏感密钥的未授权访问。
配置示例
location /protected {
auth_totp_realm "Protected Area";
auth_totp_file /etc/nginx/totp.conf;
auth_totp_length 8;
auth_totp_reuse off;
auth_totp_skew 1;
auth_totp_step 1m;
auth_totp_cookie "totp-session";
auth_totp_expiry 1d;
}⚠
确保指定的文件路径具有正确的权限,以便 NGINX 用户可以读取它。
⚠
如果指定的文件不存在,TOTP 身份验证将对所有请求失败。
⚠
totp 配置文件中的密钥必须正确格式化,以避免解析错误。