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

AWS S3:文件夹内上传文件无法公开访问问题求助

S3子目录对象公开访问失败的解决方法
  • 检查桶的Block Public Access设置
    这是最常见的触发原因。进入S3桶的「权限」标签,找到「Block Public Access」配置,确保**Block public access to buckets and objects granted through any access control lists (ACLs)**选项处于关闭状态。如果该项开启,你手动设置的所有ACL权限都会被强制屏蔽,直接导致子目录对象无法公开访问。

  • 确认单个对象的ACL权限
    不要依赖文件夹批量操作的结果,直接进入File4、File5的对象详情页,查看「权限」中的ACL设置,确认已添加Everyone用户并赋予「读取」权限。部分场景下GUI的文件夹批量操作不会递归应用到子对象,单独验证单个对象的权限可以快速定位问题。

  • 检查桶策略的资源范围
    如果桶策略中允许访问的资源范围仅限定在根目录(比如把arn:aws:s3:::your-bucket-name/*写成arn:aws:s3:::your-bucket-name/File*),会直接限制子目录对象的访问权限。确保桶策略包含覆盖所有对象的公开读取规则,示例如下:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": "*",
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::your-bucket-name/*"
            }
        ]
    }
    

    注意替换your-bucket-name为你的实际桶名。

  • 验证访问URL的准确性
    S3对象名区分大小写,确认浏览器访问的URL路径(比如img/File4)和对象实际存储的路径完全一致,没有拼写错误或大小写偏差。标准访问URL格式为https://<bucket-name>.s3.<region>.amazonaws.com/img/File4。

  • 使用AWS CLI递归更新权限
    如果GUI操作始终无法生效,用AWS CLI执行递归命令,强制为子目录下所有对象设置公开可读权限:

    aws s3 cp s3://your-bucket-name/img/ s3://your-bucket-name/img/ --acl public-read --recursive
    

    这条命令会遍历img目录下所有对象,统一更新ACL配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 17:15:04