最近更新时间:2022.12.15 16:45:48
首次发布时间:2022.08.01 20:31:55
SNI 的英文全称是 Server Name Indication。SNI 是 TLS 协议的扩展。在同一台服务器上部署了多个站点的场景下,SNI 解决了以下问题:
如果客户端使用不安全的 HTTP 协议与服务端通信,在数据传输时,服务端通过客户端请求中的 Host 字段判断客户端需要访问的站点。但是如果客户端使用 HTTPS 协议连接服务器,在数据传输开始前有一个 TLS 握手的过程。在该过程中,客户端还未传递 Host 字段给服务器。因此服务器无法获得 Host 字段信息来判断需要发送给客户端的站点证书。此时,客户端可以使用 SNI 字段告知服务端需要的目标站点。这样服务端就能在 TLS 握手阶段发送相应的证书给客户端了。
本文讨论的 SNI 是火山引擎内容分发网络的回源 SNI 配置。回源 SNI 指定了内容分发网络在使用 HTTPS 协议向源站请求内容时需要访问的源站域名。如果您的加速域名启用了 HTTPS,系统有默认的回源 SNI 设置。默认的回源 SNI 设置如下:
但是在某些场景下,回源 SNI 与回源 Host 不相同。如果您有这样的场景,可以在内容分发网络控制台指定回源 SNI。