You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置AWS使abc.io主域名与/w/*路径指向不同资源?

AWS配置方案:实现abc.io分路径访问不同服务

1. 先搞定EC2的公网访问

  • 给EC2实例绑定弹性公网IP,或者配置负载均衡(高可用场景),确保营销网站能通过公网正常访问,记下EC2的公网IP或负载均衡域名。

2. 用CloudFront做路径路由

CloudFront是核心,用来根据不同路径把请求转发到Amplify和EC2:

  • 进入CloudFront控制台创建新分配:
    • 默认源选择Amplify应用的域名(在Amplify控制台的应用设置里能找到,格式类似abc-xxxxxx.amplifyapp.com)。
    • 添加第二个自定义源:输入EC2的公网IP或负载均衡域名,端口选营销网站用的(比如80或443)。
  • 配置行为规则:
    • 保留默认行为(路径模式/*),指向Amplify源,处理根路径及所有非/w/*的请求。
    • 新增行为:路径模式设为/w/*,目标源选EC2对应的源,缓存策略按需选(营销网站如果是动态内容,选「CachingDisabled」)。
  • 配置SSL证书:在CloudFront的自定义SSL证书选项,选择ACM(AWS证书管理器)中申请的abc.io证书注意:证书必须在us-east-1区域申请。
  • 创建完成后,记下CloudFront的分配域名(类似d1234567890.cloudfront.net)。

3. Route53域名指向CloudFront

  • 进入Route53控制台,找到abc.io的托管区域:
    • 创建A记录,记录名称留空(对应根域名abc.io),路由策略选「简单路由」,值选「别名到CloudFront分配」,然后选中刚才创建的CloudFront分配。
    • 如果需要www.abc.io也生效,同理创建对应的A别名记录。

4. 验证生效

  • 等待CloudFront部署完成(大概10-15分钟)和Route53记录生效(取决于TTL设置)。
  • 访问abc.io确认打开NextJS应用,访问abc.io/w/任意路径确认打开EC2上的营销网站。

关键注意点

  • ACM证书必须在us-east-1区域申请,否则CloudFront无法识别使用。
  • 如果EC2用HTTPS,要确保EC2的证书有效;测试环境可以临时选CloudFront源配置的「接受所有证书」,生产环境务必用正规证书。
  • NextJS有动态路由的话,CloudFront默认行为要配置合适的缓存策略,避免动态内容被错误缓存。

内容的提问来源于stack exchange,提问作者NinjaMan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 09:00:08