1. 程式人生 > 其它 >網站在呼叫訪問者本地HTTP服務時遇到錯誤

網站在呼叫訪問者本地HTTP服務時遇到錯誤

錯誤結果:Failed to load resource: net::ERR_FAILED

錯誤資訊:Access to XMLHttpRequest at 'http://127.0.0.1/xxxxx' from origin 'http://xxxxx.com' has been blocked by CORS policy: The request client is not a secure context and the resource is in more-private address space `local`.

錯誤原因:新版的 Chromium 核心(可能是 93 或 94 版本)啟用了新的安全策略,不再允許非 HTTPS 網站直接訪問本地網路資源(CORS-RFC1918)

解決方案:

1、最雞肋的解決方法:更換使用舊版瀏覽器,或在新版瀏覽器修改對應的設定,如:edge://flags/#block-insecure-private-network-requests

2、最規範的解決方法:將站點遷移至 HTTPS 訪問即可

3、最麻煩的解決方法:不要再使用此種訪問方式,更換為其它業務邏輯。。。

參考來源:https://techcommunity.microsoft.com/t5/discussions/edge-beta-version-92-0-902-9-cors-error/m-p/2449176

https://stackoverflow.com/questions/66534759/chrome-cors-error-on-request-to-localhost-dev-server-from-remote-site

https://wicg.github.io/private-network-access/


輸了你,贏了世界又如何...