gpt4 book ai didi

amazon-web-services - 放大发布导致 AccessDenied 错误

转载 作者:行者123 更新时间:2023-12-03 13:44:55 26 4
gpt4 key购买 nike

我将一个简单的 Web 应用程序部署到 S3通过 amplify publish .托管有Cloudfront已启用(我在设置托管时在放大中选择了 PROD 环境)并且我在 eu-central-1 中工作地区。但是每当我尝试访问 Cloudfront URL,我收到一个 AccessDenied错误。

我在 https://medium.com/quasar-framework/creating-a-quasar-framework-application-with-aws-amplify-services-part-1-4-9a795f38e16d 上遵循了教程我做的唯一不同的是区域(教程使用 us-east-1 而我使用 eu-central-1 )。

S3 和 Cloudfront 的配置是由 amplify 完成的,因此理论上应该可以工作:

云前线:

  • 源域名或路径:quasar-demo-hosting-bucket-dev.s3-eu-central-1.amazonaws.com (最初它没有 eu-central-1 ,但我在它不起作用后手动添加了它)。
  • 源 ID:hostingS3Bucket
  • 产地类型:S3 Origin

  • S3 存储桶策略:
    {
    "Version": "2012-10-17",
    "Id": "MyPolicy",
    "Statement": [
    {
    "Sid": "APIReadForGetBucketObjects",
    "Effect": "Allow",
    "Principal": {
    "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity ********"
    },
    "Action": "s3:GetObject",
    "Resource": "arn:aws:s3:::quasar-demo-hosting-bucket-dev/*"
    }
    ]
    }

    研究表明 Cloudfront暂时无法访问 S3其他地区的桶。但我手动将区域添加到 Cloudfront 中的原点我已经等了 24 小时。我仍然收到“拒绝访问”。

    我怀疑这与 S3 有关存储桶不在默认范围内 us-east-1区域和放大未设置 Cloudfront在这种情况下正确。

    我怎样才能得到放大来设置 S3桶和 Cloudfront正确启动,以便我可以通过 Cloudfront 访问我的网站网址?

    最佳答案

    对于第一个解决方案不起作用的人,还要确保 javascript.config.DistributionDir在您的 project-config.json文件配置正确。这也可能导致 AccessDenied 错误(正如我刚刚学到的那样)。

    Amplify 期望您的应用入口点 (index.html) 位于您配置的目录中的第一级。因此,如果您接受放大默认配置( dist )并使用将构建文件置于层次结构中更深层次的项目( dist/<project name> 在 angular 8 的情况下),则它表现为 403 AccessDenied 错误发布后。放大和 s3 托管选项都是如此。

    文档:https://docs.aws.amazon.com/amplify/latest/userguide/manual-deploys.html (见文末)

    关于amazon-web-services - 放大发布导致 AccessDenied 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59822923/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com