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

如何配置Route53子域名重定向至S3托管站点的维护页面

实现子域名重定向至S3主站维护页面的方案

针对你的需求,这里提供两种可行的技术方案,可根据实际架构选择:

方案一:直接利用S3静态网站托管实现重定向

适合不需要对子域名启用HTTPS,或可接受S3默认静态网站域名的场景:

  1. 创建匹配子域名的S3存储桶
    新建S3存储桶,命名为internal-site.my-web-site.com(S3静态网站要求桶名与域名一致,否则无法直接绑定)。

  2. 配置S3静态网站重定向规则
    进入存储桶「属性」→「静态网站托管」,选择「重定向请求」:

    • 目标域名填写my-web-site.com
    • 协议选择HTTPS(若主站使用HTTPS,建议保持一致)
    • 点击「编辑重定向规则」,添加以下JSON规则,将所有请求重定向到维护页面:
      [
        {
          "Condition": {
            "KeyPrefixEquals": ""
          },
          "Redirect": {
            "HostName": "my-web-site.com",
            "HttpRedirectCode": "302",
            "Protocol": "https",
            "ReplaceKeyWith": "maintenance.html"
          }
        }
      ]
      

    保存配置后,S3会生成一个静态网站端点。

  3. 更新Route53解析记录
    进入对应域名的Route53托管区:

    • 删除原有的internal-site.my-web-site.com解析记录(如指向本地站点的A/AAAA记录)
    • 添加新的A记录(或AAAA记录):
      • 开启「别名」选项
      • 别名目标选择刚才生成的S3静态网站端点(注意选择对应区域的静态网站域名,而非S3 REST API端点)

方案二:结合CloudFront实现HTTPS重定向(推荐)

如果子域名需要HTTPS访问,或主站已基于CloudFront部署,优先选择此方案:

  1. 准备HTTPS证书
    在AWS Certificate Manager(ACM)中申请覆盖internal-site.my-web-site.com的证书(需在us-east-1区域申请,适配CloudFront),或使用已包含该子域名的通配符证书。

  2. 创建CloudFront分配并配置重定向

    • 新建CloudFront分配,源域名填写主站的S3静态网站端点或主站的CloudFront分配域名
    • 在「缓存行为」中,编辑默认行为,关联一个CloudFront函数处理重定向:
      函数代码示例:
      function handler(event) {
        const request = event.request;
        const host = request.headers.host.value;
        
        if (host === 'internal-site.my-web-site.com') {
          return {
            statusCode: 302,
            statusDescription: 'Found',
            headers: {
              location: { value: 'https://my-web-site.com/maintenance.html' }
            }
          };
        }
        
        return request;
      }
      
      将函数触发事件设置为「Viewer Request」,确保在请求到达源之前完成重定向。
    • 在CloudFront分配「设置」→「备用域名(CNAMEs)」中添加internal-site.my-web-site.com,并关联步骤1中的ACM证书。
  3. 更新Route53解析
    在Route53托管区中,将internal-site.my-web-site.com的A/AAAA记录设置为CloudFront分配的别名目标。

关键注意事项

  • 重定向状态码:使用302临时重定向,避免浏览器永久缓存重定向规则,方便维护结束后恢复原解析。
  • 测试验证:配置完成后,使用curl -v internal-site.my-web-site.com或浏览器访问,确认是否正确跳转到目标维护页面。
  • 权限说明:S3存储桶无需开启公开访问权限(重定向逻辑由S3静态网站托管处理,无需存储实际内容);CloudFront分配需确保源访问权限配置正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 19:03:30