2017-05-12 122 views
2

我通過axios請求s3服務器,並且我得到Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.此外,我得到了OPTIONS https://s3.ap-northeast-2.amazonaws.com/.../... 403 (Forbidden)錯誤:對預檢請求的響應未通過訪問控制檢查:請求的資源上沒有「Access-Control-Allow-Origin」標頭

我應該在客戶端解決這個問題。我在我的本地機器上託管我的文件。 我的請求代碼如下。

axios({ 
    url: 'https://s3.ap-northeast-2.amazonaws.com/.../...', 
    method: 'get', 
    withCredentials: true, 
    headers: { 
    'Content-Type': 'image/jpeg', 
    'Access-Control-Allow-Origin': 'http://*, https://*', 
    } 

})

我試圖

  1. start chrome --disable-web-security使用Git
  2. 安裝了Chrome插件 - 允許-控制允許來源:*

毫無效果.. 。 我怎麼解決這個問題?

+1

您必須在'的https配置服務器:// s3.ap-northeast-2.amazonaws.com/...'發送訪問控制允許來源頭。你有權訪問該服務器來做到這一點?如果不是,那麼您需要通過代理進行請求。有關詳細信息,請參閱https://stackoverflow.com/questions/20035101/no-access-control-allow-origin-header-is-present-on-the-requested-resource/42744707#42744707上的答案。做*啓動chrome --disable-web-security *或安裝插件不是解決問題的辦法,因爲所有這些都可以讓你獨自在本地解決它。它不會爲您的應用的用戶修復它。 – sideshowbarker

回答

2

Access-Control-Allow-Origin響應頭,而不是一個請求。您無法在本地修復此問題,因爲這是另一端的問題。

您需要在您試圖訪問的S3存儲桶上啓用並配置CORS(跨源資源共享)。

http://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html

相關問題