$ssl_session_id
$ssl_session_id 变量包含 NGINX 服务器上当前 SSL 会话的唯一标识符。 — NGINX Core (HTTP)
$ssl_session_id
NGINX Core (HTTP)
说明
在 NGINX 中,$ssl_session_id 变量表示与当前活动的 SSL 会话关联的会话 ID。该变量在 SSL 连接建立后可用,通常与 SSL 会话缓存配置结合使用,以优化 SSL/TLS 握手。每个已建立的 SSL 会话都可以通过其会话 ID 引用,该 ID 用于在无需重新协商握手的情况下恢复会话。该变量对于安全地监控、记录或管理用户会话特别有用。 $ssl_session_id 通常是唯一标识 SSL 会话的十六进制字符串。它在握手过程中创建,并在客户端尝试恢复 SSL 会话时使用。如果会话恢复不受支持或被禁用,则该变量可能返回空字符串。因此,必须确保服务器启用了 SSL 会话缓存,才能有效利用该变量的优势。常见的值可能类似 '00:11:22:33:44:55:66:77:88:99:AA:BB',表示会话 ID 的十六进制表示。 该变量适用于各种场景,例如在日志配置中捕获 SSL 会话信息,或在基于 SSL 会话属性启用特定访问控制时使用。此外,将相关变量(例如 $ssl_protocol 和 $ssl_cipher)与 $ssl_session_id 结合使用可以提供更深入的洞察。
配置示例
http {
server {
listen 443 ssl;
ssl_certificate /etc/ssl/certs/my_cert.pem;
ssl_certificate_key /etc/ssl/private/my_cert.key;
location / {
access_log /var/log/nginx/access.log combined;
add_header X-SSL-Session-ID $ssl_session_id;
}
}
}子系统
http可缓存
是上下文
http, server, location, if⚠
请确保已正确配置 SSL,以便该变量可用;否则,它将返回空值。
⚠
如果会话恢复被禁用,请注意 $ssl_session_id 不会提供有用的信息。
⚠
在非 SSL 上下文中使用该变量将导致空字符串。