auth_totp_file

`auth_totp_file` 指令指定用于 NGINX 内 TOTP 身份验证的 TOTP 配置文件的路径。

语法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 配置文件中的密钥必须正确格式化,以避免解析错误。

← 返回所有指令