通过为ELB配置域名解析实现多域名访问HTTPS业务
应用场景
如果您需要通过ELB负载多个业务域名,并且基于HTTPS请求域名的不同选择不同的证书进行认证,弹性负载均衡服务提供了SNI证书配置、转发策略配置和域名解析来帮助您高效管理多个域名的流量请求。您可根据本实践方案进行配置多域名HTTPS业务的负载均衡。
流量路径示意图

ELB实例会根据客户端请求的HTTPS域名选择对应的证书进行HTTPS认证,然后根据配置的转发策略将请求转发至对应的后端服务器组。
准备工作
- 创建独享型ELB实例,且ELB已绑定EIP。具体操作,请参见购买独享型负载均衡器和绑定IPv4公网IP。
- 创建两个协议类型为HTTPS协议的后端服务器组,后端服务器组01和后端服务器组01中分别添加了ECS01和ECS02实例,并且在其中部署了应用服务。
- 已经注册域名并完成备案。具体操作,请参见注册域名、快速完成ICP备案。
本实践使用如下两个域名:
- www.example-aaa.com
- www.example-bbb.com
- 已经注册配置ELB域名化使用的根域名并完成备案。本实践使用域名test-example.com作为根域名。
- 已购买证书或者上传第三方证书到SSL证书服务并绑定公网域名。推荐您在华为云云证书管理服务购买服务器证书,详情请参见购买SSL证书。
本实践使用以下三本证书:
- 默认证书cert-default,绑定域名test-example.com。
- 扩展证书cert-1,绑定域名www.example-aaa.com。
- 扩展证书cert-2,绑定域名www.example-bbb.com。
步骤一:为独享型ELB实例配置域名解析
- 进入弹性负载均衡列表页面。
- 在弹性负载均衡列表页面,需要配置域名解析的负载均衡器操作列,单击“更多”。
- 选择“配置域名解析”,弹出配置域名解析配置。
图2 配置域名解析
您需进行如下表1中的配置:
表1 为ELB实例配置域名解析 参数
示例
说明
配置公网域名
公网域名
开启此开关
云解析服务中会增加ELB公网域名指向ELB公网IP地址的解析记录集,您将可以通过ELB的公网域名访问ELB实例。
根域名
test-example.com
选择您已在DNS服务创建完成的公网域名作为ELB域名的根域名,系统将基于您选择的根域名派生出子域名作为ELB的公网域名。
TTL(秒)
300
解析记录在本地DNS服务器的缓存时间,以秒为单位。
本实践方案保持默认值为“300秒”。
配置内网域名
内网域名
开启此开关
云解析服务(DNS)中会增加ELB内网域名指向ELB私有IP地址的解析记录集,您将可以通过内网域名访问ELB实例。
根域名类型
公网
您可以选择为ELB配置的内网域名的根域名类型,系统将基于您选择的根域名派生出子域名作为ELB的内网域名。ELB内网域名的根域名同时支持DNS服务的公网域名和私网域名。
- 公网:系统将基于您选择的DNS服务的公网域名派生出子域名作为ELB的内网域名。
- 内网:系统将基于您选择的DNS服务的内网域名派生出子域名作为ELB的内网域名。
根域名
test-example.com
选择您已在DNS服务创建完成的公网或内网域名作为ELB域名的根域名,系统将基于您选择的根域名派生出子域名作为ELB的内网域名。
TTL(秒)
300
解析记录在本地DNS服务器的缓存时间,以秒为单位。
本实践方案保持默认值为“300秒”。
- 如果您确定对实例进行域名配置,请输入 YES。
- 单击“确定”,完成配置。
- 单击目标实例的名称,切换到基本信息页签,您可以查看系统为ELB实例生成的域名。
图3 域名解析配置成功
步骤二:上传服务器证书到ELB控制台
在ELB添加HTTPS监听器前,您需要将您的证书上传到将ELB控制台。
- 进入弹性负载均衡列表页面。
- 在左侧导航栏单击“证书管理”。
- 单击“创建证书”,配置参数请参见表2。
表2 服务器证书参数说明 参数
说明
证书类型
创建证书的类型,本文选择服务器证书。
证书来源
服务器证书同时支持SSL证书管理服务提供的数字证书和您的自有证书。
本文选择SSL证书管理服务以同步您在云证书管理服务已经购买的SSL证书。
证书
选择您需要上传到ELB控制台的证书。
企业项目
企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。
SNI扩展域名(可选)
将自动同步SSL证书已绑定的所有域名。
当您的证书用于配置SNI证书时,将支持根据客户端HTTPS请求的域名来选择对应的SNI证书完成认证。
cert-1和cert-2扩展域名分别填入
www.example-aaa.com
www.example-bbb.com
描述
添加对该证书的描述信息,非必填项。
- 单击“确定”,完成创建证书在ELB控制台的创建。
步骤三:添加HTTPS监听器并SNI证书
- 进入弹性负载均衡列表页面。
- 在目标弹性负载均衡实例的操作列,单击“添加监听器”。
- 在添加监听器页面,协议类型选择“HTTPS”,“SSL解析方式”选择“单向认证”,
在服务器证书的配置项中选择步骤一中上传到ELB控制台的服务器证书。
图4 添加HTTPS监听器并配置单向认证 - 单击“下一步:配置后端分配策略”,后端服务器组参数选择“使用已有”。选择已经创建完成的服务器组,完成后单击“下一步:确认配置”。
- 确认配置参数后,单击“提交”,完成HTTPS监听器的创建。
步骤四:配置转发策略
- 进入弹性负载均衡列表页面。
- 在弹性负载均衡列表页面,单击需要添加转发策略的负载均衡器名称。
- 在“监听器”页签,您可以通过以下两种操作入口,进入监听器的“转发策略”页签。
- 在目标监听器所在行的“操作”列,单击“添加/编辑转发策略”。
- 单击目标监听器的名称,并切换到“转发策略”页签。
- 单击“添加转发策略”按钮,配置2条转发规则:
- 如果域名是www.example-aaa.com,那么转发至后端服务器组,权重:100。
- 如果域名是www.example-bbb.com,那么转发至后端服务器组,权重:100。
图5 配置两条转发策略 - 配置完成,单击“保存”。
- 进入云解析服务控制台。
- 在左侧树状导航栏,选择“公网域名”。
- 在待添加记录集的公网域名所在行,单击操作列的“管理解析”。
- 单击“添加记录集”,进入“添加记录集”页面。
- 设置记录集参数,如表3所示。
表3 A类型记录集参数说明 参数
示例
说明
记录类型
A – 将域名指向IPv4地址
记录集的类型,本实践为A – 将域名指向IPv4地址。
主机记录
www
您域名的前缀。
线路类型
全网默认
解析的线路类型用于DNS服务器在解析域名时,根据访问者的来源,返回对应的服务器IP地址。
默认值为“全网默认”。
全网默认:默认线路类型,当未根据访问者来源设置解析线路时,系统会返回默认解析结果。
TTL(秒)
300
解析记录在本地DNS服务器的缓存时间,以秒为单位。
本实践使用默认值300秒。
记录值
192.168.12.2
域名对应的IPv4地址,本实践为ELB绑定的弹性公网IP地址。
高级配置(可选)
-
您可以单击
,展开折叠的高级配置区域,设置记录集的别名和权重并添加标签和描述,本文保持默认设置。
- 单击“确定”。
步骤六:结果验证
在浏览器中分别输入www.example-aaa.com和www.example-bbb.com都可以通过ELB实例访问到应用服务。
如果实践过程中使用的证书为自签名证书,浏览器将会有不安全提示,但这不影响负载均衡功能的测试验证,仅影响浏览器对连接的信任标识。
- 在浏览器中输入证书cert-1绑定的域名www.example-aaa.com,根据您配置的转发策略,请求将访问到后端服务器组A,返回如图所示:
图6 成功访问域名www.example-aaa.com
- 在浏览器中输入证书cert-1绑定的域名www.example-bbb.com,根据您配置的转发策略,请求将访问到后端服务器组A,返回如图所示:
图7 成功访问域名www.example-bbb.com