如何为AWS API Gateway配置非Route53管理的Apex自定义域名
解决Apex域名绑定AWS API Gateway的DNS配置问题(无需转移DNS到Route53)
别担心,这个问题完全不用转移DNS管理到Route53就能搞定。核心原因是API Gateway的自定义域名背后实际上关联了一个CloudFront分发,我们只需要绕开“Apex域名不能用CNAME”的限制,借助第三方DNS服务商的特殊记录类型就能实现。
步骤1:找到你的CloudFront分发域名
首先你需要拿到API Gateway自定义域名对应的CloudFront分发地址:
- 登录AWS控制台,进入API Gateway服务
- 切换到「自定义域名」页面,找到你已经配置好的
mydomain.com条目 - 查看「分发域名」字段,比如类似
d123abc456def.cloudfront.net的地址,把这个地址记下来
步骤2:在第三方DNS服务商配置ANAME/ALIAS记录(优先推荐)
绝大多数主流第三方DNS服务商(比如Cloudflare、GoDaddy、Namecheap等)都支持针对Apex域名的特殊别名记录,不同服务商的叫法可能是ANAME或者ALIAS,这个记录的作用和CNAME类似,但允许绑定到Apex域名:
- 登录你的DNS服务商管理后台,找到域名
mydomain.com的DNS配置页面 - 添加一条新记录:
- 主机记录填
@(代表Apex域名本身,也就是mydomain.com) - 记录类型选择ANAME或ALIAS(根据服务商提供的选项)
- 目标值填写你刚才拿到的CloudFront分发域名(比如
d123abc456def.cloudfront.net)
- 主机记录填
- 保存配置,等待DNS生效(通常需要5-30分钟的传播时间)
备选方案:使用AWS Global Accelerator(适合不支持ANAME/ALIAS的服务商)
如果你的DNS服务商确实不支持ANAME/ALIAS记录,还有一个付费但稳定的方案:
- 在AWS控制台创建一个Global Accelerator实例,申请弹性IP地址(Global Accelerator会提供静态的任播IP)
- 将你的API Gateway自定义域名关联到这个Global Accelerator实例
- 在第三方DNS服务商的配置页面,给
mydomain.com添加一条A记录,指向Global Accelerator提供的弹性IP地址
不过这个方案会产生额外的Global Accelerator费用,所以优先推荐前面的ANAME/ALIAS方案。
额外注意事项
- 确保你在API Gateway配置自定义域名时,使用的是us-east-1区域的ACM证书(因为CloudFront分发需要这个区域的SSL证书)
- 配置完成后,可以用
nslookup mydomain.com或者dig mydomain.com命令验证DNS是否正确解析到CloudFront的IP地址
内容的提问来源于stack exchange,提问作者user1277186
相关产品推荐
相关产品推荐

