将文件上传到S3时,OptionsRequestDenied

时间:2018-07-17 15:22:09

标签: amazon-s3

当我尝试将JS文件上传到S3时,出现上传错误:OptionsRequestDenied。除此文件外,其他所有文件(包括JS文件)都可以使用。

该文件使用jQuery发出一些跨域请求,如下所示:

function corsRequest(callback){
  $.get("www.example.com", function(data, status){
    callback(data);
  })
}

setInterval(corsRequest, 5000);

我尝试更改CORS设置以允许所有方法:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>
  </CORSRule>
</CORSConfiguration>

但是,不允许OPTIONS并返回错误:

Found unsupported HTTP method in CORS config. Unsupported method is OPTIONS

我什至创建了一个新的存储桶,也不会上传到那里。

我在AWS文档中找不到对该错误的引用。任何帮助将不胜感激。

11 个答案:

答案 0 :(得分:16)

嘿,以防万一也有人在Safari中遇到此问题,请在“隐私”下禁用“跨站点阻止”功能,以使其至少在2018年10月29日生效。

答案 1 :(得分:5)

似乎允许cookie使它在Brave中对我有用。

Brave settings

答案 2 :(得分:4)

关闭任何跟踪阻止程序扩展,例如uBlock Origin都会为我修复。

答案 3 :(得分:2)

在野生动物园设置的“隐私”标签中禁用“防止跨站点跟踪”

答案 4 :(得分:0)

这不是解决方案,而是解决方案-Mac上的Safari有问题。 Chrome适用于我的情况。

答案 5 :(得分:0)

以上解决方案均不适用于我。
我可以在家庭互联网上成功上传文件。原来我的工作场所网络/防火墙是导致错误的原因。

答案 6 :(得分:0)

在“ Chrome设置”中的“隐私和安全性”下,我禁用了“发送“请勿跟踪”请求并发送浏览流量”,并且该操作有效。

答案 7 :(得分:0)

我遇到了这个问题,没有启用广告拦截器,但确实运行了我的VPN。将其关闭,上传正常。

答案 8 :(得分:0)

我在Edge中遇到错误,因为来自同一来源的9个文件中只有一个csv,然后切换到可以上传的Chrome。

答案 9 :(得分:0)

我个人也面临着同样的挑战,我在浏览器上安装了vpn,并且能够将文件上传到aws s3存储桶中。

答案 10 :(得分:0)

我已经遇到过几次这个问题。

基本上,对我来说,问题在于我的互联网连接。我们这里的网络非常不稳定,因此有时会很快,有时会很慢,并且互联网连接可能会间歇性地断开。

因此,如果您遇到此问题,而其他问题的答案无济于事-您可能会遇到与我相同的情况。一种简单的解决方案是从更可靠的来源连接到Internet,或者如果您确信自己的连接现在很稳定(例如,在重置路由器后等),则只需重试上传即可。

仅供参考,遇到这种情况时,我主要是使用Chrome和Opera浏览器来工作。