本文主要介绍如何给应用型负载均衡ALB实例的HTTPS监听挂载多个证书,将不同的域名访问请求转发至不同的后端服务器的Nginx服务。

场景示例

ALB会根据客户端请求的HTTPS域名去查找证书,如果找到域名对应的证书,则返回该证书完成HTTPS认证,并根据转发规则转发到对应后端服务器;如果没有找到域名对应的证书,则返回默认证书完成HTTPS认证,并根据转发规则转发到默认后端服务器。本文配置如下:
  • 监听默认证书选择default,监听默认服务器组选择RS1。
  • 扩展证书example1绑定域名example.com,域名为example.com的客户端请求转发至默认后端服务器组RS1。
  • 扩展证书example2绑定域名example.org,域名为example.org的客户端请求转发至后端服务器组RS2。
多域名访问

前提条件

  • 已创建ALB实例。具体操作,请参见创建应用型负载均衡
  • 已创建服务器组RS1和RS2。具体操作,请参见管理服务器组
  • 已在服务器组RS1和RS2中分别添加ECS01和ECS02实例,并在ECS01和ECS02中部署了不同的Nginx服务。
  • 已购买证书或者上传第三方证书到SSL证书服务,并绑定域名。关于创建证书,请参见提交证书申请。本文需要以下证书:
    • 默认证书default。
    • 已绑定域名example.com的扩展证书example1。
    • 已绑定域名example.org的扩展证书example2。
    证书管理

背景信息

一个ALB实例可添加的扩展证书数量(不包含监听默认证书)基础版实例为10个,标准版实例为25个。

步骤一:添加HTTPS监听

  1. 登录应用型负载均衡ALB控制台
  2. 在顶部菜单栏,选择ALB实例所属的地域。
  3. 实例页面,找到目标实例,然后在操作列单击创建监听
  4. 配置监听页面,根据以下信息配置监听,然后单击下一步
    本文主要配置如下,关于其他配置参数及具体操作步骤,请参见添加HTTPS监听
    • 选择服务器证书default
    • 选择服务器组:RS1。
    配置监听

步骤二:添加扩展证书

  1. 实例页面,找到目标实例,单击实例ID。
  2. 监听页签,找到已创建的HTTPS监听,然后在操作列单击管理证书
  3. 监听证书页签,单击添加扩展证书
  4. 添加扩展证书对话框,选择证书example1,然后单击确定。继续重复此步骤添加扩展证书example2。
    监听证书

步骤三:配置转发规则

  1. 实例页面,找到目标实例,单击实例ID。
  2. 监听页签,找到已创建的HTTPS监听,然后在操作列单击查看/编辑转发规则
  3. 转发规则页签,单击插入新规则
  4. 配置转发规则,然后单击确定
    • 如果域名example.com,那么转发至RS1,权重:100。
    • 如果域名example.org,那么转发至RS2,权重:100。
    转发规则
    说明
    • 权重越大ECS实例将被分配到更多的访问请求,本文配置为默认值100。
    • 权重取值范围为:1~100。

步骤四:配置域名解析

example.comexample.org通过CNAME域名解析的方式解析到ALB实例的公网服务域名上。

  1. 登录应用型负载均衡控制台
  2. 在顶部菜单栏选择地域。
  3. 选择要进行域名解析的ALB实例,复制其对应的DNS名称。
    复制DNS地址
  4. 完成以下步骤来添加CNAME解析记录。
    1. 登录域名解析控制台
    2. 域名解析页面单击添加域名
    3. 添加域名对话框中输入您的主机域名,然后单击确定
      注意 您的主机域名需已完成TXT记录验证。
    4. 在目标域名的操作列单击解析设置
    5. 解析设置页面单击添加记录
    6. 添加记录面板配置以下信息完成CNAME解析配置,然后单击确认
      配置 说明
      记录类型 在下拉列表中选择CNAME
      主机记录 您的域名的前缀。
      解析线路 选择默认。
      记录值 输入加速域名对应的CNAME地址,即您复制的ALB实例的DNS名称。
      TTL 全称Time To Live,表示DNS记录在DNS服务器上的缓存时间,本文使用默认值。
      说明
      • 新增CNAME记录实时生效,修改CNAME记录取决于本地DNS缓存的解析记录的TTL到期时间,一般默认为10分钟。
      • 添加时如遇添加冲突,请换一个解析域名。更多信息,请参见解析记录互斥规则

步骤五:结果验证

在浏览器中分别输入example.comexample.org均可访问到ALB,本文在服务器组RS1和RS2对应的后端服务器ECS01和ECS02两个实例上使用Nginx服务搭建了两个静态网页。
  • 在浏览器中输入扩展证书example1绑定域名example.com,将根据已配置的转发规则,转发至服务器组RS1对应的后端服务器ECS01。如下图所示:ECS01验证结果
  • 在浏览器中输入扩展证书example2绑定域名example.org,将根据已配置的转发规则,转发至服务器组RS2对应的后端服务器ECS02。如下图所示:ECS02验证结果