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

AWS S3+CloudFront托管网站:裸域指向现有分发的配置问询

解决裸域指向CloudFront托管网站的问题

首先明确说:完全不需要创建新的S3存储桶或CloudFront分发,只需要对现有配置做一些调整就能让裸域(company.com)和www域名指向相同内容,解决HTTPS访问的问题。下面分两种常用方案说明:

方案一:直接扩展现有CloudFront分发(推荐)

这是最简洁高效的方案,利用CloudFront对Apex域名(裸域)的原生支持,步骤如下:

  • 更新CloudFront分发的CNAME列表:编辑你现有的CloudFront分发,在「Alternate Domain Names (CNAMEs)」中添加company.com(裸域),同时保留www.company.com。
  • 确保SSL证书覆盖双域名:你的CloudFront分发使用的SSL证书必须同时包含www.company.com和company.com。如果之前只有单域名证书,需要在AWS Certificate Manager(ACM)中重新申请包含双域名的证书(注意:CloudFront要求证书必须部署在us-east-1(弗吉尼亚北部)区域)。
  • 配置DNS的Alias记录:
    • 若使用AWS Route 53:给裸域创建一条A类型(或AAAA类型,支持IPv6)的Alias记录,目标直接选择你的CloudFront分发(Route 53会自动识别并关联)。
    • 若使用非AWS DNS服务商:确认服务商支持「CNAME flattening」或「ANAME/ALIAS」记录类型,将裸域指向你的CloudFront分发域名(比如d123456abcdef.cloudfront.net)。这里不能用普通CNAME记录,因为DNS规则不允许Apex域名使用CNAME。

配置完成后,裸域的HTTPS请求会直接路由到现有CloudFront分发,和www域名共享相同的S3内容,完美解决之前的HTTPS访问问题。

方案二:用S3重定向桶配合CloudFront(适合特殊场景)

如果因为某些限制无法给现有CloudFront添加裸域CNAME,也可以采用这个方案,但需要额外维护少量资源:

  • 创建一个名称和裸域完全一致的S3存储桶company.com,开启静态网站托管,设置重定向规则将所有请求指向https://www.company.com。
  • 给这个重定向桶创建新的CloudFront分发(因为S3静态网站端点本身不支持HTTPS),配置CNAME为company.com,并使用覆盖双域名的SSL证书。
  • 在DNS中给裸域创建Alias记录指向这个新的CloudFront分发。

不过这个方案需要额外维护一个CloudFront分发,不如方案一高效,所以优先推荐方案一。

为什么之前的重定向方案失效?

你之前遇到https://company.com无法访问的问题,大概率是因为直接将裸域DNS指向了S3的静态网站端点——S3静态网站托管本身不支持HTTPS,所以HTTPS请求会因证书缺失而报错。必须通过CloudFront来处理HTTPS流量,这也是所有可行方案都依赖CloudFront的核心原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:12:54