在线客服

aws s3允许跨域访问和公网访问

⏱️2025-09-23 09:00 👁️5

如何配置 AWS S3 允许跨域访问和公网访问 🌐

AWS S3(Simple Storage Service)是亚马逊提供的云存储服务。许多前端项目、网站和移动应用经常会将图片、音频、文件等资源托管在 S3 上,然后通过公网或不同的域名进行访问。这时就牵涉到「跨域访问」和「公网访问」的设置。


1. 配置 S3 桶允许公网访问 🚀

  1. 关闭桶的公共访问阻止(Block Public Access):
    • 进入 AWS 管理控制台,打开 S3 服务。
    • 选择你的存储桶,在左侧菜单栏找到「权限」(Permissions) 选项卡。
    • 找到「块公共访问(Bucket public access)」设置,点击「编辑」。
    • 取消选择所有阻止公共访问的勾选项(如果你需要对所有对象开放公网),然后保存。
    • 注意: 开放公网访问有安全风险,务必根据实际需求限制访问权限!
  2. 设置桶策略(Bucket Policy):
    • 在权限页下,找到并点击「桶策略」(Bucket Policy)。
    • 添加如下策略,使所有人可以读取桶内的文件:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "PublicReadGetObject",
          "Effect": "Allow",
          "Principal": "*",
          "Action": "s3:GetObject",
          "Resource": "arn:aws:s3:::your-bucket-name/*"
        }
      ]
    }
        
    • your-bucket-name 替换成你的 S3 桶名称。
    • 保存策略。

2. 配置 S3 桶允许跨域访问(CORS) 🌍

  1. 打开 CORS 设置:
    • 仍然在「权限」(Permissions) 页签,找到「跨源资源共享(CORS)」的设置。
    • 点击「编辑」,添加如下示例规则:
    [
      {
        "AllowedHeaders": ["*"],
        "AllowedMethods": ["GET", "POST", "PUT", "DELETE", "HEAD"],
        "AllowedOrigins": ["*"],
        "ExposeHeaders": ["ETag"],
        "MaxAgeSeconds": 3000
      }
    ]
        
    • AllowedOrigins* 表示允许任意来源跨域访问,也可以指定具体域名如 ["https://www.example.com"]
    • 根据实际需要调整允许的方法和头部。

这样,你的 S3 桶就允许网页端、APP等不同域名的资源跨域直接访问了。


⚠️ 注意事项

  • 安全优先:公网访问和 CORS 都存在安全隐患,请结合业务需求,尽量做到最小授权,不要随意向所有人开放写入权限。
  • 敏感数据保护:切勿将敏感文件设为公开访问。
  • 建议仅开放读取权限,如有上传/删除需求,请使用更细粒度的权限控制。

📚 推荐阅读

希望这些内容能帮你轻松完成 AWS S3 的跨域和公网访问配置!💡

鲨鱼云自助平台

鲨鱼云自助平台是一站式国际云服务解决方案平台,支持阿里云国际、腾讯云国际、亚马逊AWS、谷歌云GCP等主流云厂商账号的开通、充值与管理。

热门文章
更多>