2016-11-24 347 views
1

它再次CORS问题。 [*我没有关于CORS很多知识]跨源请求仅在Firefox中被阻止! [OPTIONS:403 Forbidden]

我的环境:

我有Amazon S3存储服务器JSON文件,阅读从我的web应用程序这个JSON文件。

我的问题:

我得到这个在FireFox只

跨来源请求阻止:同源策略不允许读 远程资源在服务器。 (原因:CORS头 “访问控制允许来源”缺失)

注:我已经在服务器中配置CORSRule [亚马逊S3],即浏览器和其他浏览器正常工作之后。但是FireFox会给出这个错误。

在火狐网络标签[检查元件]:

状态:403

方法:OPTIONS

原因:XHR

类型:XML

请求标:

Host: myWebApp.net 
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0 
Accept: text/plain, */*; q=0.01 
Accept-Language: en-US,en;q=0.5 
Accept-Encoding: gzip, deflate, br 
X-Requested-With: XMLHttpRequest 
Referer: https://myWebApp.net/page.jsp 
Connection: keep-alive 

响应头:

Content-Length: 0 
Date: Thu, 24 Nov 2016 07:27:30 GMT 
Location: https://webApp.s3.amazonaws.com/file.json 
Server: Apache-Coyote/1.1 

我已经看了看周围,但没有发现任何原因。 所以我需要你的帮助。 因为它在Chrome浏览器中正常工作,所以问题仅限于FireFox。

PLS描述的步骤一步如果可能的话[*我是新来这个东西]

谢谢!

回答

0

Opps! 终于有了解决办法。

的问题是在亚马逊S3的CORSConfiguration

我不很了解,但现在所有的浏览器的允许跨源。

我有改变CORSConfiguration为:

<?xml version="1.0" encoding="UTF-8"?> 
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 
<CORSRule> 
    <AllowedOrigin>https://myWebApp.net</AllowedOrigin> 
    <AllowedMethod>GET</AllowedMethod> 
    <AllowedMethod>POST</AllowedMethod> 
    <AllowedMethod>PUT</AllowedMethod> 
    <AllowedHeader>*</AllowedHeader> 
    <MaxAgeSeconds>3000</MaxAgeSeconds> 
    <ExposeHeader>x-amz-server-side-encryption</ExposeHeader> 
    <ExposeHeader>x-amz-request-id</ExposeHeader> 
    <ExposeHeader>x-amz-id-2</ExposeHeader> 
</CORSRule> 
</CORSConfiguration> 

这个规则,浏览器得不到应有的请求头响应头

请求报头:

Host: myWebApp.s3.amazonaws.com 
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: en-US,en;q=0.5 
Accept-Encoding: gzip, deflate, br 
Access-Control-Request-Method: GET 
Access-Control-Request-Headers: x-requested-with 
origin: https://myWebApp.net 
Connection: keep-alive 
Cache-Control: max-age=0 

响应头:

Access-Control-Allow-Headers: x-requested-with 
Access-Control-Allow-Methods: GET, POST, PUT 
Access-Control-Allow-Origin: https://myWebApp.net 
Access-Control-Max-Age: 3000 
Content-Length: 0 
Date: Thu, 24 Nov 2016 13:21:17 GMT 
Server: AmazonS3 
Vary: Origin, Access-Control-Request-Headers, Access-Control-Request-Method 
access-control-allow-credentials: true 
access-control-expose-headers: x-amz-server-side-encryption, x-amz-request-id, x-amz-id-2 
x-amz-id-2: emYYMILNIdkCejpjuDXz4Haks87asdhj/7JL5AASt/8eIwKdgO1Gb/AzGRg7SU/GH55IVopScg= 
x-amz-request-id: 307572CDFF39F443 
相关问题