0
我有一個SPA(由CloundFront前置)調用我在APIGateway上設置的GET端點。 Spa的域名與API網關的域名不同。當我的SPA嘗試在資源上執行GET時,我會得到相同的原始策略例外如何避免使用AWS API Gateway和CloudFront時的同源策略異常
"No Access-Control-Allow-Origin header is present on requested resource"
這是我在API網關上的設置。我有一個選項資源返回以下
Access-Control-Allow-Methods: 'GET, OPTIONS'
Access-Control-Allow-Headers: 'Content-Type,X-Api-Key,X-Requested-With'
Access-Control-Origin: '*'
我有一個獲取資源,這反過來又要求我的後端服務(代理我的服務)。我已經設置了資源返回這些頭作爲響應
Access-Control-Allow-Headers
Access-Control-Allow-Methods
Access-Control-Allow-Origin
瀏覽器的選項調用在200返回,與所有必要的訪問控制的東西的一部分。但是當瀏覽器進行GET調用時,我會得到相同的原始策略異常。任何想法最新發生在這裏?是否因爲我的GET響應沒有明確設置Access-Control-Origin的值?
感謝 凱
如何在API網關中添加此項?我的GET資源只是對後端的請求,並按原樣從我的後端返回響應。我沒有看到在API網關 –
中修改傳出響應頭的方法您的回答是正確的,因爲我必須添加值爲*的Access-Control-Allow-Origin頭。對於使用AWS API Gateway時遇到同樣問題的其他人 - 如果您使用API網關代理您的後端服務,則無法修改從API返回的響應。 「Integeration Responses」將變爲灰色。另一方面,如果您選擇不進行代理,則可以修改API的響應 –