$ssl_client_serial

$ssl_client_serial 变量包含在安全连接中使用的客户端 SSL 证书的序列号。 — NGINX Core (HTTP)

$ssl_client_serial NGINX Core (HTTP)

说明

当 NGINX 配置为处理需要客户端证书进行身份验证的 SSL/TLS 连接时,会设置 $ssl_client_serial 变量。如果启用客户端验证,它会检索客户端 SSL 证书的序列号,这通常发生在配置了 "ssl_verify_client" 指令并将其设置为 "on" 或 "optional" 的 server 配置块中。在 TLS 握手期间当提供了有效的客户端证书时,NGINX 可以访问证书的各种属性,包括序列号,而序列号是证书实例的唯一标识符。 $ssl_client_serial 的值通常格式为十六进制字符串,表示证书的序列号。如果未启用客户端验证,或客户端未提供证书,则不会设置该变量,返回空字符串。该变量对于基于所使用的客户端证书身份来实现访问控制、日志记录或审计机制特别有用。

配置示例

server {
    listen 443 ssl;
    ssl_certificate     /path/to/your/server.crt;
    ssl_certificate_key /path/to/your/server.key;
    ssl_verify_client on;

    location / {
        if ($ssl_client_serial) {
            add_header X-Client-Serial $ssl_client_serial;
        }
    }
}

子系统

http

可缓存

上下文

http, server, location, if

确保 SSL 已正确配置;否则,该变量不会被设置。

如果未提供客户端证书或禁用验证,该变量将返回空值。