使用S3和Cloudfront访问非根url时拒绝访问



我有一个关于AWS s3和cloudfront的问题。我在s3上托管了一个私有页面(vue应用程序(的构建,并通过cloudfront访问它(我在s3 bucket中使用来自cloudfront的OAI写了一个权限。(。一切都很好:当我调用根url(xxx.cloudfront.net/(时,我可以访问我的web应用程序。当我调用这个url时,我的Web应用程序会添加到根url:"app/documents"并加载内容。但我认为有时用户会尝试直接访问url:"xxx.cloudfront.net/app/documents"。到目前为止,这还不起作用:我得到了一个AccessDenied(来自S3(。我该怎么办?我的目标是,当某人进入特定域(而不是根域,例如:xxx.cloudfront.net/app/documents/4(时,他将能够直接访问id为4的文档。这样的事情可能发生吗?

附言:我已经看了这个问题的答案,但这对我不起作用。如果我使用自定义域,我不会得到S3中权限文件中使用的Origin Access Identity(这样只有cloudfront才能访问S3代码(。我也看到这个问题,似乎很相似。这建议在每个请求后附加一个index.html。也许我不知道,但在我的S3桶中只有一个index.html(根目录(。这怎么可能奏效呢?

谢谢你,祝你一切顺利,卢卡斯

您需要将S3存储桶公开。

您可以关注此链接:https://aws.amazon.com/premiumsupport/knowledge-center/read-access-objects-s3-bucket/

您需要打开S3 ACL并将对象公开。

最新更新