AWS Route53子域名重定向与多静态React站点托管方案咨询
问题1:sample.com SSL配置说明
可以配置。
你当前在EC2上运行Apache服务,支持多域名SSL证书部署,适配你动态生成子域名的场景,最便捷的配置方式如下:
- 为sample.com申请通配符SSL证书(覆盖
*.sample.com所有子域名),不需要每次新增子域名时重新申请证书,可选用Let's Encrypt免费通配符证书,配合Route53的DNS验证可实现自动续期 - 在Apache中新增对应
*.sample.com的VirtualHost配置,绑定申请好的通配符证书,配置逻辑和你已完成的sample.net SSL配置完全一致 - 注意要在VirtualHost中增加规则,根据请求的Host头匹配对应的站点文件夹,实现子域名到S3对应目录的资源拉取
问题2:多站点托管方案优化建议
首先明确你当前方案的逻辑漏洞:CNAME记录仅能实现域名解析层面的指向,无法直接携带路径信息,你设想的「将子域名CNAME到www.sample.net/sample-website」本身无法实现,用户访问子域名时请求路径默认是根路径,不会自动带上站点目录前缀,需要额外的服务端规则处理。
现有方案存在EC2单点故障、需自主运维服务器、访问延迟高的问题,更优的无服务器托管方案如下,不需要为每个站点单独创建S3桶或CloudFront分发:
- 保留现有单S3桶的结构,所有站点按独立文件夹存储,关闭S3公网访问权限,配置CloudFront源站访问控制(OAC)仅允许CloudFront读取S3资源
- 为CloudFront分发申请免费的AWS ACM通配符证书,同时覆盖
*.sample.net、*.sample.com,证书自动续期无需手动维护 - 配置CloudFront Functions边缘规则,根据请求的Host头(如
xxx.sample.com)自动重写请求路径,前缀拼接对应站点文件夹名称,直接从S3拉取对应资源返回 - 你现有的boto3动态创建Route53 CNAME记录的逻辑无需大幅调整,仅需要将CNAME的指向修改为CloudFront分发的域名即可

内容的提问来源于stack exchange,提问作者Sriram Arvind Lakshmanakumar
相关产品推荐
相关产品推荐

