AWS同托管区子域名B.example.com重定向至A.example.com失败求助
解决B.example.com重定向到A.example.com的问题
先搞定你现在的超时问题
你之前的操作踩了几个坑:
- 选了A类型记录:S3静态网站的端点是动态域名,不是固定IP,用A类型别名必然解析异常,得换成CNAME记录或者Route 53里的「别名」类型(要选S3静态网站的专属端点,不是桶的默认域名)。
- 重定向目标拼写错误:你说多打了个m,先把这个错误改过来,不然重定向根本找不到目标。
- S3公共访问没配对:得把「阻止公共访问」的四个选项全关了,不然静态网站功能没法正常用。
两种更简便的实现方式
方式一:Route 53直接重定向(不用搞S3)
这是最省事的办法,完全不需要创建S3桶:
- 登录Route 53控制台,打开你的example.com托管区域。
- 新建记录:
- 记录名称填
B - 记录类型选**「重定向」**(别选A/CNAME)
- 重定向目标输入
A.example.com - 协议选
HTTPS - 重定向类型选**「永久重定向(301)」**(临时跳转就选302)
- 保存就行,等个几分钟DNS生效就好。
- 记录名称填
方式二:修正S3静态网站配置(适合需要额外静态内容的场景)
如果一定要用S3,按下面步骤改:
- 打开S3控制台,找到
B.example.com桶:- 先把静态网站托管的重定向目标改成正确的
A.example.com,协议选HTTPS。 - 把「阻止公共访问」的四个选项全部关闭。
- 添加桶策略(允许访问静态网站内容):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::B.example.com/*" } ] }
- 先把静态网站托管的重定向目标改成正确的
- 回到Route 53修改记录:
- 记录类型选**「CNAME」**,或者选「别名」并指定S3静态网站的端点(注意是带
-website的那个域名,比如B.example.com.s3-website-us-east-1.amazonaws.com)。 - 保存后等DNS生效即可。
- 记录类型选**「CNAME」**,或者选「别名」并指定S3静态网站的端点(注意是带
验证方法
改完之后用nslookup B.example.com查下解析是否正确,或者直接在浏览器访问,看能不能跳转到A.example.com。
内容的提问来源于stack exchange,提问作者pantheon12
相关产品推荐
相关产品推荐

