來自來源「https://example.com/」的存取已被CORS 策略阻止:對預檢請求的回應未透過存取控制檢查:確實如此沒有HTTP 可以嗎
TL;DR
Web 來源
不包含路徑。因此,https://googledocs-clone-sbayrak.netlify.app/
不是有效的網路來源。刪除尾隨斜線。
有關CORS Web 起源的更多詳細資訊
Origin 標頭的值中不允許有尾隨斜線
根據CORS協議(Fetch標準中規定),瀏覽器永遠不會設定Origin請求header 為帶有尾部斜杠的值。因此,如果https://googledocs-clone-sbayrak.netlify.app/whatever 上的頁面發出跨來源請求,則該請求的Origin 標頭將包含
,不帶任何尾部斜槓。
伺服器端逐位元組比較
您正在使用Socket.IO,它依賴 Node.js cors 套件。如果要求的來源與您的 CORS 配置的來源值 (https://googledocs-clone-sbayrak.netlify.app/) 不完全匹配,則該套件不會在回應中設定任何 Access-Control-Allow-Origin。
綜合起來一起
顯然,
評估為false,這會導致cors 套件不會在回應中設定任何Access-Control- Allow-Origin 標頭,從而導致CORS 檢查在您的瀏覽器中失敗,因此您觀察到CORS 錯誤。
來自Fetch 的範例標準
Fetch 標準的第3.2.5 節甚至提供了一個關於此錯誤的啟發性範例:
並解釋了為什麼它會導致CORS 檢查失敗:
序列化源沒有尾隨斜線。
以上是為什麼我的 CORS 策略會阻止來自「https://example.com/」的帶有尾部斜槓的請求?的詳細內容。更多資訊請關注PHP中文網其他相關文章!