通过云端访问路径会拒绝访问

accessing path through cloudfront gives access denied

我在云端托管了一个网站,使用原始 ID 访问我的非 public s3 存储桶中的 angualr 应用程序数据。 一切正常,除了用户无法访问 www.exmaple.com/path 之类的路径,用户确实会被拒绝访问。他们总是必须从根开始。 我需要启用该访问权限但正在努力。我发现 post,但坦率地说,我不明白。

我通过创建存储桶 public 并使用静态网站托管找到了解决方法,问题是用户可以绕过云端并立即转到存储桶。

有人知道如何启用路径吗?

我找到了一些 post 解释。

  1. 你需要使用静态网站托管来创建它public

  2. 在 cloudfront 中你设置了一个 header 命名的 Referer 并给了一些随机的秘密作为值。

  3. 你把存储桶策略设置成这样:

    { "版本": "2012-10-17", “陈述”: [ { "效果": "允许", "校长": "", “行动”: [ “s3:获取对象”, “s3:获取对象版本” ], “资源”:“arn:aws:s3:::yours3bucket/”, “健康)状况”: { “字符串”:{ “aws:推荐人”:“你的秘密价值” } } }, { “效果”:“拒绝”, "校长": "", “行动”: [ “s3:获取对象”, “s3:获取对象版本” ], “资源”:“arn:aws:s3:::yours3bucket/”, “健康)状况”: { “StringNotLike”:{ “aws:推荐人”:“你的秘密价值” } } } ] }