SNI(Server Name Indication)是SSL/TLS协议的一种扩展,允许服务器在单个IP地址上承载多个SSL证书,这一特性解决了一个HTTPS服务器拥有多个域名但无法预知客户端请求具体域名的问题,通过SNI,服务器可以在SSL握手阶段就知道客户端请求的具体域名,从而返回正确的SSL证书,建立安全的连接。
特点 | 说明 |
解决多域名问题 | 允许服务器在单个IP地址上承载多个SSL证书,根据客户端请求的域名返回对应的证书。 |
SSL握手阶段工作 | 在SSL握手信息中增加访问目标的主机名信息,使服务器能够识别并处理客户端请求。 |
当源站IP绑定了多个域名,且回源协议为HTTPS时,CDN节点需要配置回源SNI以指明具体的访问域名,这样,源站才能根据配置的SNI名称返回对应域名的SSL证书,确保正常回源,如果未配置回源SNI,CDN节点访问源站时可能无法正确获取SSL证书,导致回源失败。
1、登录CDN控制台:进入CDN服务提供商的控制台界面。
2、选择域名管理:在左侧导航栏中,找到并单击“域名管理”选项。
3、找到目标域名:在域名管理页面中,定位到需要设置SNI的目标域名,并单击操作列中的“管理”。
4、进入回源配置:在指定域名的左侧导航栏中,选择“回源配置”。
5、修改回源SNI配置:在配置页签下找到“回源SNI”,单击“修改配置”。
6、打开回源SNI开关:在回源SNI对话框中,打开回源SNI开关。
7、输入访问域名:在输入框中填写希望客户端从哪个域名获取资源(example.com)。
8、保存配置:单击“确定”,完成配置。
1、源站支持:源站的服务端需要支持解析TLS握手请求中包含的SNI信息。
2、精确域名:回源SNI配置的值只能是精确域名,不能是泛域名。
3、多源站情况:如果加速域名配置了多个源站,且每个源站对外提供的Web服务域名地址存在差异,可以设置使用不同的SNI值回源到不同的源站地址,这要求提交工单申请对需要使用该功能的域名开启使用权限。
4、长链接SNI:开启长链接SNI后,DCDN节点将请求发送给源站时,SNI不同的请求将使用不同的长连接,避免出现同一个长连接上SNI冲突的情况。
步骤 | 操作 | 说明 |
1 | 登录CDN控制台 | 进入CDN服务提供商的控制台界面 |
2 | 选择域名管理 | 在左侧导航栏中,找到并单击“域名管理”选项 |
3 | 找到目标域名 | 在域名管理页面中,定位到需要设置SNI的目标域名,并单击操作列中的“管理” |
4 | 进入回源配置 | 在指定域名的左侧导航栏中,选择“回源配置” |
5 | 修改回源SNI配置 | 在配置页签下找到“回源SNI”,单击“修改配置” |
6 | 打开回源SNI开关 | 在回源SNI对话框中,打开回源SNI开关 |
7 | 输入访问域名 | 在输入框中填写希望客户端从哪个域名获取资源(example.com) |
8 | 保存配置 | 单击“确定”,完成配置 |
1、问:为什么需要配置CDN的回源SNI?
答:当源站IP绑定了多个域名,且回源协议为HTTPS时,CDN节点需要配置回源SNI以指明具体的访问域名,这样,源站才能根据配置的SNI名称返回对应域名的SSL证书,确保正常回源,否则,由于CDN节点访问源站时不带SNI信息,会导致源站无法正确响应HTTPS证书,导致回源失败。
2、问:如何在CDN控制台中开启回源SNI功能?
答:在CDN控制台中开启回源SNI功能的步骤如下:登录CDN控制台;选择“域名管理”;找到目标域名并单击“管理”;进入“回源配置”;在配置页签下找到“回源SNI”,单击“修改配置”;打开回源SNI开关;输入希望客户端从哪个域名获取资源(example.com);单击“确定”完成配置。