You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多租户Web应用:多个域名指向单个CloudFront分发可行性咨询

多租户Web应用自定义域名接入CloudFront的解决方案

核心思路

通过自有域名的通配符证书覆盖所有租户子域名,让客户自定义域名CNAME到专属租户子域名,配合请求头提取逻辑,实现无需为客户域名申请/更新证书的接入流程。

具体实现步骤

  1. 申请通配符ACM证书:在AWS us-east-1区域申请*.example.com和example.com的公网证书,完成验证后关联到你的CloudFront分发。
  2. 配置CloudFront备用域名:在CloudFront分发的「备用域名(CNAMEs)」中添加example.com和*.example.com,所有子域名的请求都会被CloudFront接受。
  3. 租户子域名映射:为每个客户分配专属子域名(如client-abc.example.com),在应用层建立该子域名与客户自定义域名(client-domain.com)的映射关系。
  4. 客户域名配置:指导客户将其自定义域名client-domain.com的DNS记录设置为CNAME,指向分配的专属子域名client-abc.example.com。
  5. Lambda@Edge处理请求:创建Viewer Request阶段的Lambda@Edge函数,提取请求的Host头(即客户的自定义域名client-domain.com),将其添加为自定义请求头(如X-Client-Domain)传递给后端应用。
  6. 应用路由逻辑:后端应用根据X-Client-Domain头(或直接解析Host头)返回对应租户的应用版本。

优势

  • 无需为客户自定义域名申请任何证书,所有请求通过自有域名的通配符证书完成SSL加密,彻底避免证书更新和重复验证的问题。
  • 添加新客户时,仅需在应用层添加映射记录,无需修改CloudFront或ACM配置,流程可完全自动化。
  • 客户访问自定义域名时,浏览器会匹配到租户子域名的证书(通配符证书覆盖),不会出现SSL错误。

备选方案:AWS Global Accelerator前置(仅适配特定场景)

如果需要静态IP路由或规避CloudFront备用域名限制,可将Global Accelerator前置:

  1. 为Global Accelerator分配静态IP,指向你的CloudFront分发域名。
  2. 让客户将自定义域名A记录指向Accelerator静态IP(或CNAME指向Accelerator域名)。
  3. 用Lambda@Edge提取Host头,应用根据该头路由到对应租户版本。
  4. 注意:此方案下浏览器会显示CloudFront的证书(与客户域名不匹配),仅适合内部或对SSL验证要求较低的场景。

关键注意事项

  • ACM证书必须部署在us-east-1区域才能关联到CloudFront。
  • Lambda@Edge函数需部署在us-east-1区域,并配置对应IAM权限。
  • 客户DNS服务商需支持CNAME记录(根域名场景可使用CNAME flattening或ANAME记录)。

内容的提问来源于stack exchange,提问作者123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 08:13:23