CORS 錯誤

跨域資源共享 (CORS) 是一種標準,允許伺服器放寬 同源策略。這用於明確允許某些跨域請求,同時拒絕其他請求。例如,如果某個網站提供可嵌入服務,則可能需要放寬某些限制。設定此類 CORS 配置並不一定容易,可能會遇到一些挑戰。在本頁中,我們將探討一些常見的 CORS 錯誤訊息以及如何解決它們。

如果 CORS 配置設定不正確,瀏覽器控制檯將顯示類似於 "Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at $somesite" 的錯誤,表明請求由於違反 CORS 安全規則而被阻止。但這並不一定意味著設定錯誤。請求也可能實際上被使用者的 Web 應用程式和遠端外部服務故意拒絕。但是,如果端點應該可用,則需要進行一些除錯以使其成功。

識別問題

要了解 CORS 配置的根本問題,您需要找出哪個請求出錯以及原因。以下步驟可能對您有所幫助:

  1. 導航到有問題的網站或 Web 應用程式,並開啟 開發者工具
  2. 現在嘗試重現失敗的事務,並檢查 控制檯,看看是否出現 CORS 違規錯誤訊息。它可能看起來像這樣:

Firefox console showing CORS error

錯誤訊息的文字將類似於以下內容:

Cross-Origin Request Blocked: The Same Origin Policy disallows
reading the remote resource at https://some-url-here. (Reason:
additional information here).

注意:出於安全原因,有關 CORS 請求出錯的具體資訊 *不可用於 JavaScript 程式碼*。程式碼只知道發生了錯誤。要確定具體出錯的原因,唯一的辦法是檢視瀏覽器的控制檯以獲取詳細資訊。

CORS 錯誤訊息

另請參閱