encrypted_session_key

设置用于在 NGINX 中对变量值进行加密和解密的加密密钥。

语法encrypted_session_key "string";
默认值none
上下文http, server, location, if in server, if in location
参数1

说明

'encrypted_session_key' 指令用于在 NGINX 中为变量值的加密和解密定义特定的密钥。它在安全会话配置中至关重要,允许使用对称密钥算法 (AES-256) 对敏感信息进行加密。该指令接受一个参数,该参数必须是一个 32 字节的字符串,满足 AES-256 加密的要求。该指令可以放置在多个上下文中,包括 'http'、'server'、'location' 以及 'if' 条件中,从而在配置的不同部分提供最大的灵活性。

一旦设置了 'encrypted_session_key',它会与模块中的其他指令(例如 'set_encrypt_session' 和 'set_decrypt_session')配合工作,以处理实际的加密和解密过程。正确配置该指令至关重要,因为解密时使用不匹配的密钥会导致加密数据无法读取。此外,保护密钥安全应是首要任务,以维护任何加密会话数据的机密性和完整性。因此,在管理这些密钥时应采取适当的环境安全措施。

配置示例

http {
    encrypted_session_key "abcdefghijklmnopqrstuvwxyz123456";
}
server {
    location /encrypt {
        set $raw 'text to encrypt';
        set_encrypt_session $session $raw;
        # Further processing...
    }
}

确保提供的密钥长度严格为 32 字节;否则,NGINX 将无法启动。

更改加密密钥会使所有先前加密的会话失效,用户需要重新进行身份验证。

不要在公开可访问的配置文件中暴露该密钥;请将其妥善保管。

← 返回所有指令