2016-11-24 133 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