小编Nam*_*Pho的帖子

Amazon S3 CORS配置XMLHttpRequest GET

我通过Amazon S3托管一个静态网站,我在那里有一些Javascript,它将调用另一个域并解析XML,JSON或其他任何东西.

我跟踪了stackoverflow上的很多帖子以及与之相关的各种博客帖子,声称它可以使其正常工作,但即使在非常密切地关注后,我也无法复制结果.

 <CORSRule>
   <AllowedOrigin>*</AllowedOrigin>
   <AllowedMethod>GET</AllowedMethod>
 </CORSRule>
Run Code Online (Sandbox Code Playgroud)

我甚至尝试添加有和没有以下规则,

 <AllowedHeader>*</AllowedHeader>
Run Code Online (Sandbox Code Playgroud)

以下链接允许您通过发送XMLHttpRequests来测试是否启用了CORS,并且它表示它无效,因此未正确设置或识别CORS.

http://client.cors-api.appspot.com/client/

可能的潜在客户是Amazon S3文档中的建议,

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETcors.html

这说我们需要设置"s3:GetCORSConfiguration"权限,我通过像......这样的行来做

"动作":["s3:GetObject","s3:GetCORSConfiguration"],

在AWS控制面板的"编辑存储桶策略"部分中但是它出错并且无法保存,因为它无法识别此操作?

这里有一个类似于stackexchange的帖子,

来自jquery或XMLHttpRequest的HTTP GET到amazon aws失败,Access-Control-Allow-Origin不允许使用Origin

似乎建议如果我有一个托管在S3上的网站,它无法配置它来制作GET到第三方资源的XMLHttpRequests?

我觉得我要去圈子......那里有人有任何线索/建议吗?谢谢.

javascript amazon xmlhttprequest amazon-s3 cors

5
推荐指数
1
解决办法
1822
查看次数

Amazon S3 存储桶策略引用器

我正在尝试编辑我的 S3 存储桶配置,以便第 3 方站点无法链接到其中的内容。还有一个额外的好处是他们只能访问我域中的内容,而不是补充 s3bucket.amazon-east.amazonaws.com 或类似的东西。

该文档有一个完全适用于此的示例,但是当我在下面为我的网站复制/粘贴/修改时它不起作用?我仍然收到 403 错误。当我只取出条件部分时,它允许完全访问,所以只有引用部分有问题。

这是一段如此短的代码,我正在用头撞墙……希望第二组眼睛可以启发我了解我遗漏的可能很明显的东西?

或者,这可能没有任何问题,并且其他地方可能还有我尚未设置/考虑的其他配置?

谢谢阅读。

{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Sid": "fml",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::www.mysite.com/*",
            "Condition": {
                "StringLike": {
                    "aws:Referer": [
                        "http://mysite.com/*",
                        "http://www.mysite.com/*"
                    ]
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

policy amazon-s3 referer bucket amazon-web-services

5
推荐指数
1
解决办法
2102
查看次数