$ssl_server_name
变量 $ssl_server_name 包含在 SSL 握手期间与请求匹配的、由 'server_name' 指令指定的服务器名称。 — NGINX Core (HTTP)
$ssl_server_name
NGINX Core (HTTP)
说明
变量 $ssl_server_name 在启用 SSL 的 NGINX server 块上下文中设置,主要用于在 SSL 握手阶段根据服务器名称识别哪个虚拟服务器正在处理请求。当客户端向 NGINX 服务器发起 SSL 连接时,服务器会将请求的主机名与每个 server 块中配置的 'server_name' 指令进行比较。使用第一个匹配的服务器,并将该服务器对应的名称存储在 $ssl_server_name 变量中。\n\n如果没有找到匹配的服务器名,$ssl_server_name 将为空,并且可能会改用默认服务器的名称(如果已配置)。该变量的行为类似于 $server_name;然而,它是在 SSL 握手过程中专门填充的,从而可用于日志记录、访问控制以及根据请求的主机名生成响应等各种用途。$ssl_server_name 的典型值为在 server 块中配置的 DNS 名称,例如 'example.com' 或 'www.example.com'。
配置示例
server {
listen 443 ssl;
server_name example.com www.example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
add_header X-SSL-Server-Name "$ssl_server_name";
}
}子系统
http可缓存
是上下文
http, server, location, if⚠
确保在 server 块中启用 SSL,使用 'listen 443 ssl;'.
⚠
如果没有匹配的 server_name,变量将为空;在进行服务器配置时请小心,以免产生混淆。
⚠
$ssl_server_name 不能在与 SSL 无关的配置中使用。请确保上下文适当。