如何在AWS Route53中为同一域名配置前后端解析?
同一域名承载前后端服务的两种解决办法
方案一:子域名区分(最简单直接)
Route53不允许同一域名下存在两条同名的A/AAAA记录,所以直接给前后端分配不同子域名就能解决:
- 比如把主域名
xyz.com分配给前端(指向CloudFront),后端用api.xyz.com指向API Gateway;反过来配置也可以,看你的业务需求。 - 操作步骤:
- 如果你之前已经把
xyz.com的A记录指向了API Gateway,先删掉这条记录。 - 创建
xyz.com的A记录,类型选择Alias,关联到你的CloudFront分发。 - 创建
api.xyz.com的A记录,同样选择Alias类型,指向API Gateway的端点。 - 记得给CloudFront和API Gateway分别配置对应的SSL证书(在AWS Certificate Manager申请,CloudFront使用的证书必须部署在
us-east-1区域)。
- 如果你之前已经把
方案二:CloudFront统一入口(同域名按路径转发)
如果必须使用同一个根域名,可以让CloudFront作为唯一入口,根据请求路径转发到不同后端:
- 核心是配置CloudFront的多行为规则:
- 先将
xyz.com的A记录修改为指向CloudFront(替换原有的API Gateway记录)。 - 进入CloudFront分发的配置页面,添加两个行为规则:
- 默认行为(路径匹配
/*):将请求转发到托管前端的S3存储桶,处理页面加载类请求。 - 新增行为(路径匹配
/api/*):将请求转发到API Gateway端点,处理后端接口调用。
- 默认行为(路径匹配
- 注意事项:
- 需给CloudFront配置Origin Access Identity(OAI),确保CloudFront有权限访问S3存储桶内容。
- API Gateway需配置对应的自定义域名和SSL证书,允许来自CloudFront的请求。
- 缓存策略分开设置:前端路径可开启缓存提升加载速度,后端API路径建议关闭缓存或按需配置缓存规则。
- 先将
关键注意点
- 所有自定义域名都需要在AWS Certificate Manager(ACM)中申请SSL证书,CloudFront使用的证书必须部署在
us-east-1区域。 - 子域名方案无需额外转发配置,适合快速部署;统一入口方案更适合需要统一域名管理、统一WAF防护的场景。
内容的提问来源于stack exchange,提问作者user16266293
相关产品推荐
相关产品推荐

