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

S3托管网站通过VPC接口端点访问提示存储桶不存在如何解决

问题根因与解决方案

核心错误点

你遇到的报错来自两个配置偏差:

  1. 端点类型不兼容
    你公网访问用的http://mywebsite.com.s3-website-us-east-1.amazonaws.com是S3专属的网站端点,支持静态网站托管的默认索引页、错误页、重定向等逻辑;而你创建的S3 VPC接口端点属于S3 REST API端点,仅支持原生对象API操作,不兼容静态网站托管的特殊规则。
  2. URL寻址规则错误
    你当前用的私有访问URL http://mywebsite.com.vpce-xxxxx-xxx.s3.us-east-1.vpce.amazonaws.com 不符合S3接口端点的寻址规范:S3解析虚拟主机格式的URL时,会将域名中第一个.到.s3.<region>之间的全部内容识别为存储桶名,这就导致你实际请求的存储桶名变成了mywebsite.com.vpce-xxxxx-xxx,自然会提示存储桶不存在。

两种可行落地路径

路径1:使用S3 VPC网关端点(推荐,无额外成本)

S3网关端点是专门用于VPC内部访问S3的网关类端点,完全兼容S3静态网站托管能力:

  • 删除当前的S3接口端点,为你所用的VPC创建S3网关端点,关联需要访问S3的子网路由表
  • 在S3存储桶策略中添加访问限制,仅允许该网关端点或对应VPC的CIDR段访问存储桶
  • 私有访问时直接使用原有S3网站端点URL即可,VPC内/VPN接入的流量会自动通过网关端点走AWS内部链路,不会流出公网

路径2:保留现有接口端点的改造方案

如果必须保留当前的S3接口端点,需要放弃S3静态网站托管的特殊能力,调整访问方式:

  • 改用路径式寻址访问:http://vpce-xxxxx-xxx.s3.us-east-1.vpce.amazonaws.com/mywebsite.com/index.html
  • 或者调整为正确的虚拟主机寻址格式:http://mywebsite.com.s3.us-east-1.vpce.amazonaws.com,同时确保你的VPC已经开启S3私有DNS功能,请求会自动路由到你创建的接口端点
  • 注意:该方式无法使用默认索引页、错误页等静态网站托管功能,访问子路径时需要手动补全index.html后缀

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 04:06:05