使用预签名URL和CORS问题上传S3

时间:2018-01-31 05:32:45

标签: reactjs amazon-s3 axios pre-signed-url

我使用预先签名的URL将我的反应应用程序中的文件上传到S3,其自身的Bucket是私有的,只为所有域启用了CORS(对于dev env)。

当axios post尝试上传文件时,我看到No" Access-Control-Allow-Origin"标题存在错误。飞行前选项请求引发此错误。

我是从我当地的机器上尝试的。

这是我的CORS配置。我尝试过外卡' *'对于AllowedOrigin没有运气。



<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>http://localhost:3000</AllowedOrigin>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <MaxAgeSeconds>300000</MaxAgeSeconds>
    <AllowedHeader>authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>
&#13;
&#13;
&#13;

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

创建预签名网址的服务可能无效。在我的场景中,存储桶位于 eu-centar-1 上,但预签名密钥在 url 中有 us-east-1。我修复了用于创建预签名密钥的服务并且它起作用了。它与起源无关。检查这在您的场景中是否正常