GoDaddy域名CNAME重定向至AWS S3后URL变更问题求助
解决S3静态网站重定向后地址栏显示AWS终端节点的问题
我之前帮好几个开发者排查过一模一样的问题,大概率是配置环节里的细节没做对,咱们一步步来梳理解决:
1. 先检查www存储桶的重定向规则
你设置的www.website.com存储桶重定向,是不是不小心指向了S3的终端节点URL,而非你的自定义域名?
- 登录AWS控制台,打开
www.website.com存储桶的「静态网站托管」设置 - 确认重定向目标是
https://website.com(你的自定义域名),而不是类似https://website.com.s3-website-us-east-1.amazonaws.com这种S3原生终端节点 - 如果选的是「重定向到另一个存储桶」,务必确保目标填的是自定义域名,不是S3默认的终端节点地址
2. 验证主存储桶的资源引用路径
如果website.com存储桶里的网页资源(CSS、JS、图片、跳转链接)用了S3终端节点的绝对路径,浏览器加载后会自动替换地址栏:
- 打开你的网站源码,检查所有带路径的标签:比如
<link href="...">、<script src="...">、<a href="..."> - 把这些路径改成相对路径(比如
/css/style.css)或者自定义域名的绝对路径(https://website.com/css/style.css),别再用S3终端节点的URL
3. 确认DNS解析的配置细节
如果用的是Route 53(或其他DNS服务商),要保证解析记录是「别名记录」指向S3静态网站,而非直接填终端节点:
- 对
website.com:创建A类型的别名记录,指向S3静态网站的专属域名(注意是静态网站那个域名,不是S3的REST API域名) - 对
www.website.com:要么创建别名记录指向website.com的静态网站域名,要么直接在DNS里设置域名级重定向到website.com
4. 清除浏览器缓存再测试
有时候旧的重定向规则被浏览器缓存了,导致地址栏异常:
- 按下
Ctrl + Shift + R(Windows)或Cmd + Shift + R(Mac)强制刷新页面,或者用隐身模式打开网站,排除缓存干扰
额外建议:配合CloudFront做HTTPS(可选但推荐)
如果还没配置HTTPS,建议用CloudFront分发来托管你的S3静态网站,不仅能彻底解决地址栏跳转问题,还能提升网站安全性和访问速度:
- 创建CloudFront分发,源指向
website.com的S3静态网站终端节点 - 用AWS Certificate Manager申请免费的自定义域名SSL证书
- 把Route 53的解析记录指向CloudFront的分发域名
内容的提问来源于stack exchange,提问作者Fane
相关产品推荐
相关产品推荐

