如何将GoDaddy域名指向AWS S3静态网站存储桶?
无需Amplify关联GoDaddy域名到AWS S3静态网站的方案
一、S3静态网站配置前提
- 存储桶名称得完全匹配你的域名(比如域名是example.com,存储桶名就得是example.com)
- 开启S3的静态网站托管,设置好索引文档(比如index.html)和错误文档
- 配置存储桶权限策略,允许公开读取静态资源(别过度开放,只给必要的读权限就行)
二、两种无需Amplify的关联方案
方案1:用Route 53做域名服务器(推荐)
你之前试过改域名服务器,可能没配置全:
- 在AWS Route 53创建和域名匹配的托管区域
- 复制托管区域里的4条NS记录值
- 回到GoDaddy域名管理页,把域名服务器换成这4条Route 53的NS记录
- 在Route 53托管区域建A记录:
- 记录名称留空(代表根域名)
- 类型选A-IPv4地址
- 选“别名”,指向你的S3静态网站托管端点
- 要是需要子域名(比如www.example.com),再建一条A记录或CNAME记录,指向主存储桶或对应的子域名存储桶
方案2:直接在GoDaddy加CNAME记录(不用改域名服务器)
适合不想迁移域名服务器的情况,但要注意S3的限制:
- 根域名(example.com)没法直接用CNAME指向S3,得搭配CloudFront用别名记录
- 子域名(比如www.example.com):
- 在GoDaddy加一条CNAME记录,记录名称填
www,值填你的S3静态网站托管端点(比如www.example.com.s3-website-us-east-1.amazonaws.com,记得换成你实际的区域和存储桶名)
- 在GoDaddy加一条CNAME记录,记录名称填
- 要HTTPS访问的话,必须配CloudFront:
- 在CloudFront建分发,源指向你的S3存储桶
- 用AWS Certificate Manager(ACM)申请覆盖域名和子域名的SSL证书
- 在CloudFront分发里绑定这个证书
- 最后在GoDaddy加CNAME记录,把域名指向CloudFront的分发域名(不是直接指向S3)
三、找回GoDaddy默认CNAME记录的方法
GoDaddy没一键恢复默认的按钮,但可以这么弄:
- 查域名的WHOIS信息,找原始域名服务器对应的默认记录(如果之前没改域名服务器的话)
- 联系GoDaddy客服,给他们你的域名信息,让帮忙恢复默认DNS记录
- 要是之前备份过DNS记录,直接导入备份就行
- 常见的GoDaddy默认记录,比如
www的CNAME通常指向@(根域名),也可以手动设成指向你的域名本身(比如example.com)
内容的提问来源于stack exchange,提问作者MateuszMazurek
相关产品推荐
相关产品推荐

