Amazon S3 CORS配置XMLHttpRequest GET

Nam*_*Pho 5 javascript amazon xmlhttprequest amazon-s3 cors

我通过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?

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

epa*_*llo -1

我认为你很困惑或者我误解了你的问题。

您在网站上启用 CORS,以便其他网站可以向您的页面发出请求。

在您的 S3 站点上启用 CORS 将允许 example.com 与您的 S3 页面对话。它不允许您的网站与 example.com 通信。

为了让您向其他域发出请求,他们必须启用权限。您无法神奇地为他们的域打开它。这就像说你允许自己走进白宫并使用总统的浴室。当你越过栅栏时,特勤局将强力拒绝该请求。