当您需要在同一个监听中将不同域名的HTTPS访问请求转发至不同的后端服务器,您可参考本文进行配置实现多域名HTTPS网站。
场景示例
CLB会根据客户端请求的HTTPS域名去查找对应证书并完成HTTPS认证,然后根据转发规则转发到对应的后端服务器。
本文配置示例如下:
-
监听默认证书default绑定域名
aliyundoc.com,默认后端服务器组选择RS1。 -
监听扩展证书example1绑定域名
www.example.com,https://www.example.com的客户端请求转发至后端服务器组RS1。 -
监听扩展证书example2绑定域名
www.example.org,https://www.example.org的客户端请求转发至后端服务器组RS2。
前提条件
-
已创建CLB实例。具体操作,请参见创建和管理CLB实例。
-
已创建虚拟服务器组RS1和RS2。具体操作,请参见创建和管理虚拟服务器组。
-
已在服务器组RS1和RS2中分别添加ECS01和ECS02实例,并在ECS01和ECS02中部署了应用服务。
-
已购买证书或者上传第三方证书到SSL证书服务并绑定域名,请参见使用正式证书为Web站点开启HTTPS访问。本文需要以下证书:
-
已绑定域名
aliyundoc.com的默认证书default。 -
已绑定域名
www.example.com的证书example1。 -
已绑定域名
www.example.org的证书example2。
说明相关证书需要部署到CLB方可使用,可参考创建证书。
-
步骤一:添加HTTPS监听
-
在顶部菜单栏,选择CLB实例所属的地域。
-
在实例管理页面,找到目标CLB实例,然后在操作列单击监听配置向导。
-
在协议&监听页签下,完成以下配置,然后单击下一步。
本文主要配置参数如下,其他参数可根据实际情况进行配置。
-
选择监听协议:HTTPS
-
监听端口:443
-
-
在SSL证书页签,选择已上传的服务器证书,然后单击下一步。本文选择已创建的default证书。
-
在后端服务器页签,选择虚拟服务器组,在选择服务器组下拉框中选择RS1。
-
其他参数保持默认值,单击下一步至提交。
步骤二:添加扩展域名
-
在实例管理页面,找到目标CLB实例,然后单击目标实例ID。
-
在监听页签,找到已创建的HTTPS监听,然后在操作列选择
> 扩展域名管理。 -
在扩展域名管理面板,单击添加扩展域名,添加扩展域名。
-
输入扩展域名为
www.example.com,并在选择服务器证书下拉框中选择www.example.com域名关联的证书,然后单击确定。 -
输入扩展域名为
www.example.org,并在选择服务器证书下拉框中选择www.example.org域名关联的证书,然后单击确定。
说明证书中的域名和您添加的扩展域名必须一致。
重要-
扩展域名不支持通配符格式(如
*.example.com)。通配符域名无法通过 SNI 自动匹配,访问子域名时将回退使用监听的默认证书。请使用精确域名(如www.example.com)作为扩展域名。 -
添加扩展域名后,还需在步骤三中为该域名配置对应的转发规则,SNI 才能正确匹配并返回对应证书。仅添加扩展域名而不配置转发规则时,SNI 不生效。
-
若未配置任何扩展域名,所有 HTTPS 请求均使用监听的默认证书,这是预期行为。
-
当扩展域名关联的服务器证书过期时,CLB 会自动跳过该扩展证书的 SNI 匹配逻辑。即使客户端请求中 SNI 携带的域名与过期扩展证书的域名完全一致,也不会匹配该过期的扩展证书,而是回退使用 HTTPS 监听配置的默认证书进行解密。这可能导致客户端收到默认证书而非预期的扩展域名证书,出现 SSL/TLS 证书不匹配的告警。建议您及时更新即将过期的扩展域名证书,避免因证书过期导致的业务影响。
-
步骤三:配置转发策略
-
在实例管理页面,找到目标CLB实例,然后单击目标实例ID。
-
在监听页签,在监听的操作列单击配置转发策略。
-
在转发策略面板,添加转发策略。
本文中仅配置域名转发规则,URL不进行设置。
-
在域名列输入
www.example.com,选择虚拟服务器组RS1,单击添加转发策略。 -
在域名列输入
www.example.org,选择虚拟服务器组RS2,单击添加转发策略。
-
-
完成转发策略的配置后,关闭转发策略面板。
步骤四:配置域名解析
分别为www.example.com和www.example.org添加A记录解析到CLB实例的公网服务地址上。
-
在顶部菜单栏选择地域。
-
选择要进行域名解析的CLB实例,复制其对应的公网服务地址。
-
完成以下步骤来添加A解析记录。
-
登录域名解析控制台。
-
在公网权威解析页面单击添加域名。
-
在添加域名对话框中输入您的主机域名,然后单击确认。
重要您的主机域名需已完成TXT记录验证。
-
在目标域名的操作列单击解析设置。
-
在解析设置页面单击添加记录。
-
在添加记录面板配置以下信息完成A记录解析配置,然后单击确认。
配置
说明
记录类型
在下拉列表中选择A。
主机记录
您的域名的前缀。
解析请求来源
选择默认。
记录值
记录值为IP地址,即您复制的CLB实例的公网服务地址。
TTL
全称Time To Live,表示DNS记录在DNS服务器上的缓存时间,本文使用默认值。
-
步骤五:结果验证
在浏览器中分别输入www.example.com和www.example.org均可访问服务,本文在服务器组RS1和RS2对应的后端服务器两个实例上搭建了两个静态网页。
-
在浏览器中输入扩展证书example1绑定域名
www.example.com,将根据已配置的转发规则,转发至服务器组RS1对应的后端服务器ECS01。在浏览器中输入 www.example.com,页面返回Hello World ! This is ECS01.,表明请求已根据转发规则转发至服务器组 RS1 对应的后端服务器 ECS01。 -
在浏览器中输入扩展证书example2绑定域名
www.example.org,将根据已配置的转发规则,转发至服务器组RS2对应的后端服务器ECS02。浏览器通过 HTTPS 访问后返回Hello World ! This is ECS02.,验证后端服务器 ECS02 的 Web 服务运行正常。
配置完成后测试如果出现问题,请尝试重启浏览器后再测试,避免缓存对结果的影响。
常见问题
扩展域名配置后访问仍显示默认证书,如何排查?
按以下步骤逐项排查:
-
确认扩展域名使用的是精确域名(如
www.example.com),而非通配符域名(如*.example.com)。CLB 不支持通配符扩展域名的 SNI 自动匹配,使用通配符域名时客户端访问将始终回退使用默认证书。 -
确认已为该扩展域名配置对应的转发规则(步骤三)。仅添加扩展域名而不配置转发规则时,SNI 不生效,客户端仍返回默认证书。
-
确认所绑定证书的域名与扩展域名完全匹配(不含通配符)。
-
使用以下命令验证 SNI 是否返回正确证书,命令输出中的
CN=字段应显示扩展域名对应的证书:openssl s_client -connect <CLB公网IP>:443 -servername <扩展域名> -
在实例管理页面单击目标CLB实例 ID,进入监听页签找到 HTTPS 监听,在操作列选择
> 管理证书,确认当前 HTTPS 监听的默认证书和已配置的扩展域名。若扩展域名管理列表为空,说明未配置任何扩展域名,所有 HTTPS 请求均使用监听的默认证书,需按步骤二为每个域名添加扩展域名并关联独立服务器证书。 -
通过
DescribeLoadBalancerHTTPSListenerAttributeAPI 查询DomainExtensions字段,确认扩展域名配置状态。若返回结果中DomainExtensions.DomainExtension为空数组,如"DomainExtension": [],说明未配置任何扩展域名,所有域名请求均使用默认证书。已配置时,核对各条目的Domain字段和ServerCertificateId字段是否与预期域名和证书一致。 -
如果为扩展域名关联的是泛域名证书(证书的绑定域名为
*.example.com格式),请注意:当同一 HTTPS 监听下有多个使用泛域名证书的扩展域名时,仅首个泛域名证书会被自动用于 SNI 匹配,其余扩展域名需关联独立的精确域名证书,否则将回退使用监听的默认证书。
相关文档
-
如果您想将同一个域名的不同URL请求路径转发至不同的后端服务器组,可参考通过配置相同域名不同路径的转发策略实现精准流量转发。
-
如果您想详细了解域名和URL路径转发策略,可参考基于域名或URL路径进行转发。
-
如果您想了解 CLB HTTPS 监听的扩展域名完整配置说明,可参考CLB 扩展域名概述。