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

主域名www.example.com跳转至子域名app.example.com问题求助

解决CloudFront多域名访问自动跳转问题

问题场景

我在GoDaddy持有域名www.example.com,并在AWS Route 53配置了托管区域。原记录中example.com、www.example.com指向Wix站点,app.example.com通过别名A记录指向CloudFront分发app.cloudfront.net。修改后将三个域名都改为别名A记录指向该CloudFront分发,但访问www.example.com时会自动跳转到app.example.com,需要实现所有域名直接由CloudFront提供服务,无跳转。

排查与解决步骤

1. 确认CloudFront备用域名配置

务必让CloudFront分发包含所有三个域名作为备用域名:

  • 登录AWS控制台进入CloudFront,找到目标分发,编辑常规配置
  • 在**备用域名(CNAMEs)**中添加example.com、www.example.com、app.example.com
  • 确保关联的SSL证书覆盖所有这些域名(推荐用ACM的通配符证书*.example.com或包含全部域名的SAN证书)
  • 保存后等待CloudFront部署完成(约15-30分钟)

2. 检查CloudFront缓存行为的主机头转发

错误的主机头设置可能导致源站识别域名异常引发跳转:

  • 进入分发的行为标签页,编辑默认行为(或对应路径的行为)
  • 在HTTP头转发设置中,将主机头设为全部转发,或自定义包含三个域名
  • 同时检查是否配置了Lambda@Edge/CloudFront Functions,确认没有自动跳转的逻辑

3. 排查源站的跳转规则

如果CloudFront的源站是S3或自定义服务器,检查源站本身的配置:

  • 若源是S3静态网站托管,查看静态网站托管设置,确认没有开启重定向,或首页/错误页配置未触发跳转
  • 若源是EC2/Nginx/Apache服务器,检查配置文件中的rewrite、redirect规则,确保没有强制跳转到app.example.com的设置

4. 清除CloudFront缓存

旧缓存可能保留了跳转规则,需手动清除:

  • 在分发的缓存标签页,点击创建无效
  • 输入/*清除全部缓存,等待无效化完成(几分钟即可)

5. 刷新本地DNS缓存

本地DNS缓存可能还保留旧记录,执行对应命令刷新:

  • Windows:ipconfig /flushdns
  • Mac:sudo dscacheutil -flushcache

内容的提问来源于stack exchange,提问作者brijesh chowdary lavu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 07:20:39