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

如何在AWS实现abc.com/documents/路径访问S3托管的文档?

可行实现方案

针对你的场景,推荐以下两种低成本、无需大规模迁移文档的方案:

方案一:使用CloudFront统一路由(推荐)

这是最稳妥且易维护的方案,无需改动现有S3文档结构,同时能利用CloudFront的缓存能力加速文档访问:

  • 新建CloudFront分配,设置两个源:
    • 主源:指向你的ELB(对应Angular SSR的EC2服务)
    • 文档源:指向存储文档的S3桶(需提前开启S3静态网站托管,或使用S3 REST API端点)
  • 在CloudFront中配置行为规则:
    • 添加一条行为,路径匹配为/documents/*,关联到S3源,并开启路径转换——将请求路径中的/documents/前缀移除(比如把/documents/Readme.pdf转换为/Readme.pdf,匹配S3中文件的存储路径)
    • 保留默认行为,路径匹配/*,关联到ELB源
  • 更新abc.com的DNS记录,将域名指向CloudFront分配的域名
  • 安全配置:为S3源创建CloudFront Origin Access Identity(OAI),并修改S3桶策略,仅允许OAI访问,避免S3桶直接暴露公网

方案二:利用ALB路径转发(需当前ELB为应用负载均衡)

如果当前使用的是AWS应用负载均衡(ALB),可以直接通过ALB的规则实现路由:

  • 先配置S3桶为静态网站托管,设置桶策略允许ALB所在VPC的访问权限
  • 在ALB的监听器中添加新规则:
    • 路径条件设置为/documents/*
    • 动作选择「转发至」,并配置路径重写:将/documents/前缀替换为空,转发到S3静态网站的端点
    • 确保原有规则(匹配所有路径转发至EC2目标组)优先级低于这条新规则
  • 无需修改DNS记录,保持abc.com指向ELB即可

不推荐的方案

直接将1万份文档迁移到EC2或Angular SSR项目中:不仅迁移工作量大,还会增加EC2的存储压力,同时无法利用S3的低成本存储和高可用性特性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 10:45:36