ajax – AWS S3 CORS 403 OPTIONS请求出错
发布时间:2020-12-15 22:55:03 所属栏目:百科 来源:网络整理
导读:我试图从ajax请求访问驻留在S3中的html文件,我收到403错误. 我在线阅读AWS,如果我这样做,我需要设置AWS CORS规则来修复403错误. 但是,我已经尝试了两天而且没有任何运气.这是我的CORS配置: ?xml version="1.0" encoding="UTF-8"?CORSConfiguration xmlns="h
我试图从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 谁能帮我看看我错过了什么? 谢谢! 解决方法
HTTP 403(Frobidden)并不一定意味着您需要CORS.一种选择是将所有请求发送到云端(相同来源),并在您的分发中提供多个来源和行为.例如:
Beavior -> Origin /api/* -> my.api.com /static/* -> my.s3.bucket 但是,如果您确实需要跨源请求,则CORS标头应该由cloudfront转发并具有相同的行为,在您的示例中,您可能希望对您允许的标头更宽松(< AllowedHeader> *< / AllowedHeader> ?).但这与浏览器行为的关系比CLoudFront或S3更重要. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |