SNI 是 Server Name Indication(服务器名称指示)的缩写,指的是 TLS/SSL 握手过程中,客户端在建立加密连接时把要访问的域名告诉服务器的一种机制。它让同一台服务器(同一 IP)可以为多个域名提供不同的证书与站点服务。常见于 HTTPS、CDN、反向代理等场景。(在不同领域里 SNI 也可能有其他含义,但最常见的是网络安全/HTTPS 里的这一项。)
/ˌɛsˌɛnˈaɪ/
Your browser uses SNI to tell the server which site you want.
你的浏览器会用 SNI 告诉服务器你要访问哪个网站。
Without SNI, hosting many HTTPS domains on one IP address becomes much harder, especially when different certificates are required.
没有 SNI,在同一个 IP 上托管多个 HTTPS 域名会困难得多,尤其是当需要不同证书时。
SNI 属于首字母缩略词(initialism),来自 Server Name Indication。它在 TLS 协议扩展中被标准化,用来在握手阶段“指示”目标主机名,从而支持虚拟主机在 HTTPS 场景下的证书选择与路由。