基于URL路径重定向至AWS CloudFront或Amplify的方案问询
可行方案:用CloudFront作为统一入口实现路径路由
这是最直接且符合AWS最佳实践的方案,完全可以解决你的路径分流需求:
步骤1:创建新的CloudFront分发
作为www.domain.com的统一入口,添加两个源:- 源A:指向你现有的S3/CloudFront分发(直接填原CloudFront的域名作为自定义源即可,无需重复配置S3权限)
- 源B:指向你的Amplify应用域名(Amplify控制台可获取类似
xxx.amplifyapp.com的默认域名)
步骤2:配置缓存行为规则
在CloudFront的缓存行为中添加两条规则,注意优先级(更具体的路径规则要放在前面):- 路径模式设为
/users/*,关联源B,同时转发必要的请求头(比如Host、Cookie、Authorization),避免Amplify应用无法正确处理请求 - 默认路径模式
/*,关联源A,沿用你之前的缓存配置即可
- 路径模式设为
步骤3:绑定自定义域名与SSL证书
在CloudFront分发的自定义域名设置里添加www.domain.com,同时关联AWS Certificate Manager(ACM)中us-east-1区域的SSL证书(CloudFront要求证书必须部署在该区域),最后更新Route 53的域名解析,将www.domain.com的A记录指向新CloudFront分发的域名
你之前用API Gateway+Lambda遇到的域名关联问题,本质是API Gateway的自定义域名只能绑定自身资源,无法直接路由到静态分发或Amplify这类前端托管服务,而CloudFront是专门做内容分发和路由的服务,天然适配这种多源路径分流场景。
内容的提问来源于stack exchange,提问作者Felipe Peña
相关产品推荐
相关产品推荐

