首页/云/云网络与负载均衡速查/七层基于域名的转发
负载均衡54 条

七层基于域名的转发

HTTP/HTTPS 监听支持按请求域名把流量分发到不同服务器组,适合多站点共用入口、按域名灰度与后端分离。配置时注意精确域名与泛域名的优先级差异,并保留默认服务器组兜底。

按域名转发怎么配

HTTP/HTTPS 监听支持按请求域名把流量分发到不同服务器组,适合多站点共用一个入口、按域名灰度与后端分离。配置时要注意三点:精确域名与泛域名的优先级差异、默认服务器组的兜底作用、以及域名条件与证书覆盖范围的对应关系。

基本信息

匹配依据请求头中的域名(Host),不包含端口
条件形式精确域名或泛域名(通配)
优先级常见约定为精确域名优先于通配,以产品文档为准
默认兜底未命中任何域名规则的请求走默认服务器组
证书关系HTTPS 场景下证书需覆盖该域名,否则客户端直接握手失败
协议要求仅七层监听支持;四层监听不解析域名

典型使用场景

  • 多站点共用一个入口,按域名分发到各自后端
  • 主域名与 API 域名分离,各自使用独立的服务器组
  • 域名级灰度:某域名整体切到新版本,观察后再推广
  • 新域名上线前先接入默认组,验证后再单独配置规则
  • 多租户 SaaS 场景下按域名区分客户环境

验证域名规则是否命中

验证域名规则是否命中
curl -s -o /dev/null -w '%{http_code}\n' -H 'Host: a.example.com' http://<LB地址>/
# 对比不同域名的返回内容,判断是否分派到不同服务器组
curl -s -H 'Host: a.example.com' http://<LB地址>/ | head -3
curl -s -H 'Host: b.example.com' http://<LB地址>/ | head -3
# 未配置默认组时,未命中域名的请求会直接返回错误

配置核对

核对项期望
域名规则覆盖实际使用的全部域名
默认服务器组已配置,用于兜底未命中的域名
泛域名范围可控,不覆盖计划外的子域
证书覆盖HTTPS 监听下的证书包含全部对外域名
后端组每个域名对应正确的服务器组,避免串站
泛域名匹配可能覆盖未计划接入的子域名,新增通配规则前先盘点会被它命中的范围,避免抢走其他业务的流量。
HTTPS 监听下如果证书不覆盖某个域名,客户端会在握手阶段失败,此时看到的不是规则问题而是证书报错,排查方向容易跑偏。

易错点

  • 通配规则覆盖范围过大,意外截获其他业务子域的流量,问题定位时不易第一时间想到入口规则
  • 只配置精确域名没有默认组,未命中请求直接报错,新域名上线前用入口地址自测会看到错误页
  • 域名规则配好了但证书未覆盖该域名,HTTPS 访问直接握手失败
  • 同一域名在多个监听或规则中重复配置,实际生效的规则与预期不一致

数据来源与参考

  • 阿里云 ALB 域名转发文档
  • 腾讯云 CLB 域名转发文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌