【发布时间】:2013-09-30 12:13:37
【问题描述】:
我正在尝试通过 ajax 请求访问驻留在 S3 中的 html 文件,但出现 403 错误。
我在线阅读AWS,如果我这样做,我需要设置AWS CORS规则来修复403错误。
但是,我已经尝试了两天,但我没有任何运气。这是我的 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>
<ExposeHeader>XMLHttpRequest</ExposeHeader>
<AllowedHeader>x-csrftoken</AllowedHeader>
</CORSRule>
</CORSConfiguration>
我的 HTTP 请求看起来像:
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Access-Control-Request-He... x-csrftoken
Access-Control-Request-Me... GET
Connection keep-alive
Host xxxxxxxxx.cloudfront.net
Origin http://localhost:8000
User-Agent Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:18.0) Gecko/20100101 Firefox/18.0
谁能帮我看看我错过了什么?
谢谢!
【问题讨论】:
-
原来问题不是 S3 而是 cloudfront。有人尝试将 CORS 配置从 S3 转发到云端吗?
-
这真是一件令人气愤的事情。配置 S3 存储桶应该不难。
标签: ajax amazon-web-services amazon-s3 http-status-code-403