无法从VPC内部访问S3存储桶托管的静态网站问题咨询
S3静态网站VPC内部访问被拒绝排查步骤
- 首先确认访问源网络属性:运行浏览器的设备如果是本地办公设备,仅登录AWS控制台不等于设备处于VPC内部,公网访问的流量不会匹配
aws:sourceVpce条件,需要先通过VPN、专线等方式接入VPC,或者使用VPC内的云资源访问站点,验证权限是否生效。 - 确认访问使用的端点类型:S3静态网站托管的公开独立端点不支持VPC Endpoint访问控制,你当前配置的
aws:sourceVpce条件仅对S3 REST API端点生效,需要将访问地址替换为对应S3 API域名拼接对象路径的格式,才会触发VPC Endpoint的条件匹配。 - 检查存储桶公共访问阻断配置:确认存储桶的「阻止公共访问」四项配置全部关闭,你当前策略的Principal设为
*属于公共访问范畴,若开启公共访问阻断会直接拦截请求。 - 检查VPC Endpoint配置:
- 确认VPC Endpoint所属VPC和访问源所在VPC一致
- 确认VPC Endpoint关联的子网路由表已添加S3服务前缀列表的路由,下一跳指向该VPC Endpoint
- 确认VPC Endpoint的访问策略未限制对目标存储桶的
s3:GetObject操作
- 检查存储桶策略配置:确认
Resource字段的存储桶名称拼写正确,arn:aws:s3:::my_bucket*规则已覆盖所有静态文件的资源路径,aws:sourceVpce的取值和实际使用的VPC Endpoint ID完全一致。 - 检查静态文件权限:确认桶内所有HTML、JS、图片文件的ACL允许读取,不存在跨账号上传的无权限对象。
内容的提问来源于stack exchange,提问作者Cybernetic
相关产品推荐
相关产品推荐

