带有HTTP Referer的AWS S3存储桶策略始终提供403

问题描述

我正试图在我的S3存储桶中添加存储桶策略。我要求只有我的网站才能访问存储桶中的资源。我发现HTTP Referer在当前情况下很有用,因此我经历了以下步骤:

  1. 创建了存储桶
  2. 将png文件上传到其中
  3. 已禁用阻止所有公共访问
  4. 添加了以下存储桶策略
{
  "Id": "Policy1599658083694","Version": "2012-10-17","Statement": [
      {
          "Sid": "Stmt1599658081534","Action": [
              "s3:Getobject"
          ],"Effect": "Allow","Resource": "arn:aws:s3:::mywebsiteso/*","Condition": {
              "StringLike": {
                  "aws:Referer": "https://blue.mywebsite.io/*"
              }
          },"Principal": "*"
      }
  ]
}

我现在假设应该可以从我的网站访问它,而不是直接使用URL。这是两者的结果

使用直接URL

enter image description here

  1. 我创建了一个包含以下内容的HTML页面(test.html),并将其添加到网站的根目录中。
<a href="https://mywebsiteso.s3.ap-south-1.amazonaws.com/403.PNG">click here</a>

enter image description here

但是,当我单击链接时,它显示的响应与403相同。

我尝试了几种方法

 "aws:Referer": [
                 "http://blue.mywebsite.io","http://blue.mywebsite.io/*","http://www.blue.mywebsite.io/*","https://blue.mywebsite.io","https://blue.mywebsite.io/*","https://www.blue.mywebsite.io/*"
                ]

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)