AWS S3:仅当存储桶 CORS 配置包含 AllowedOrigins 时,PUT 请求才会成功:“*”

AWS S3: PUT requests only succeed if bucket CORS config contains AllowedOrigins: "*"

我在 S3 中有一个存储桶,我希望使用“http://cats.com”上的 JavaScript 运行 将一些数据放入其中。

为了确保只有来自“cats.com”的请求才能发出 PUT 请求,我在 S3 中将以下内容设置为 CORS 配置:

[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET",
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "http://cats.com/"
        ],
        "ExposeHeaders": []
    }
]

请求没有成功。但是如果我设置:

"AllowedOrigins": [
    "*"
],

PUT 请求有效。

是否有某种代理或其他网络服务以某种方式改变了请求的来源?其他人可以提供的任何指示将不胜感激。

在输入这个问题时,我想我会检查并查看删除尾部斜杠是否改变了亚马逊理解的请求来源。

确实如此。以下是我的请求的正确配置:

"AllowedOrigins": [
    "http://cats.com"
],