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

基于子域名定向请求至特定路径:S3静态站配置可行性咨询

当然可以实现!这里有两种靠谱方案供你选择

方案1:用CloudFront(首推,灵活又好维护)

这是大多数人会选的方式,尤其是你已经有主站托管在S3的情况下:

  • 先创建一个CloudFront分发,把源站地址设为你现有S3静态网站的端点(比如your-bucket.s3-website-us-east-1.amazonaws.com,别选那个S3 REST端点,要选带website的)
  • 进入分发的行为配置,把「默认根对象」改成app/index.html——这样用户访问app.example.com时,CloudFront会直接拉取你桶里这个路径的内容返回
  • 接着去Route 53给app.example.com加一条A记录,类型选「别名」,目标选你刚创建的CloudFront分发
  • 记得给CloudFront配个SSL证书(用ACM在us-east-1区申请免费的就行),这样还能支持HTTPS,体验更完善

方案2:S3重定向规则+独立子域名桶(不用额外服务的轻量方案)

如果不想用CloudFront,也能靠S3自身的功能搞定:

  • 新建一个S3桶,桶名必须严格等于app.example.com——S3要求桶名和域名完全匹配才能直接绑定
  • 开启这个新桶的静态网站托管,选择「重定向到另一个主机名」,目标填你现有S3桶的静态网站端点
  • 然后在新桶的静态网站配置里加一条重定向规则:
    <RoutingRules>
      <RoutingRule>
        <Condition>
          <KeyPrefixEquals></KeyPrefixEquals>
        </Condition>
        <Redirect>
          <HostName>your-existing-bucket.s3-website-<region>.amazonaws.com</HostName>
          <ReplaceKeyPrefixWith>app/</ReplaceKeyPrefixWith>
          <HttpRedirectCode>302</HttpRedirectCode>
        </Redirect>
      </RoutingRule>
    </RoutingRules>
    
    这条规则的作用是,把所有访问app.example.com的请求,都重定向到你现有桶的app/路径下
  • 最后去Route 53给app.example.com加一条A别名记录,指向这个新桶的静态网站端点

⚠️ 小提醒:方案2是靠重定向实现的,用户访问时地址栏可能会跳转到原桶的路径(如果用301永久重定向的话);而方案1是CloudFront直接返回内容,地址栏会一直保持app.example.com,用户体验更好,更推荐前者。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 03:57:33