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

如何解决AWS Amplify中的Access Denied错误

解决AWS Amplify拖放部署后的AccessDenied错误

以下是针对该问题的具体排查和解决步骤:

  • 检查ZIP包文件结构
    确保你的index.html入口文件直接放在ZIP包的根目录,而非嵌套在子文件夹中。比如解压ZIP后,根目录应直接看到index.html、CSS、JS等文件,不能是my-app/index.html这种嵌套结构。

  • 验证Amplify部署根路径
    进入Amplify控制台你的应用页面,依次点击部署设置→构建设置,确认"部署的根目录"配置正确:

    • 静态文件直接在根目录时,留空或填.
    • 若文件嵌套在子文件夹(比如dist),则填写对应子文件夹名称
  • 检查S3存储桶权限
    Amplify依赖S3托管静态资源,进入AWS S3控制台找到对应存储桶(命名格式通常为amplify-<app-id>-<env>-<region>-deployment):

    1. 切换到权限→桶策略
    2. 确认存在允许公开读取的策略,示例如下(替换<your-bucket-name>为实际桶名):
      {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::<your-bucket-name>/*"
          }
        ]
      }
      
    3. 若缺失则手动添加该策略
  • 配置重写和重定向规则
    进入Amplify控制台→应用设置→重写和重定向:

    • 单页应用(SPA)需添加默认重写规则:
      • 源地址:</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/>
      • 目标地址:/index.html
      • 类型:200 (Rewrite)
    • 多页应用需确保各页面路径能被正确解析,无规则缺失
  • 重新打包部署
    重新手动打包静态文件:直接选中所有前端文件(不要选外层文件夹),右键压缩为ZIP,再重新拖放到Amplify部署界面尝试部署

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 06:09:25