【发布时间】:2013-05-23 03:51:52
【问题描述】:
我正在尝试让 Uploadifive(Uploadify 的 HTML5 版本)与 Amazon S3 一起使用。我们已经让 Uploadify 工作了,但是我们的一些访问者使用没有 Flash 的 Safari,所以我们也需要 Uploadifive。
我正在寻找 POST,但问题是 Uploadifive 发送的飞行前 OPTIONS 请求得到“403 Origin is not allowed by Access-Control-Allow-Origin”。
亚马逊上的 CORS 规则设置为允许 * 来源,因此我认为亚马逊没有理由拒绝该请求(并注意它接受来自 Flash 的请求,尽管我不知道 Flash 是否发送 OPTIONS 请求在 POST 之前)。如果我在亚马逊上的设置中没有犯一些大错误,我认为这与 Uploadifive 未设置为跨域请求有关,但我找不到有关如何检查/执行此操作甚至如何执行此操作的信息更改请求中发送的标头。
有没有人尝试过将 Uploadifive 与 Amazon S3 结合使用,您是如何解决这个问题的?
我的 S3 CORS 设置:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>POST</AllowedMethod>
</CORSRule>
编辑: 在使用 --disable-web-security 标志测试 Chrome 后,我停止收到 403:s,所以看起来确实是 Uploadifive 没有正确设置跨域标头。现在问题变成了,Uploadifive的跨域设置怎么修改?
【问题讨论】: