【跨域】浏览器本地网络接入检查

2025年10月28日 chrome 142更新后,本来借助外网域名来访问内网服务的站点都不能访问了,报错如下:

Access to XMLHttpRequest at '' from origin '' has been blocked CORS policy: The request client is not secure context and resource is more-private address space 'local'.

or

 Access to script at '' from origin '' has been blocked by CORS policy: Permission was denied for this request to access the 'unknow' address space.

原因:

当 Chrome 升级到 142 版本、Edge 浏览器升级到 143 版本后,浏览器将 "Local Network Access Checks"(本地网络接入检查)策略由默认 "Disabled" 改为了 "Enabled",即该检查**默认开启**,开始拦截"公网页面 → 本地网络/内网服务"的跨域请求,导致借助外网域名访问内网服务的站点被 CORS 策略拦截。

临时解决方案

打开浏览器的实验特性页,将对应选项改为 **Disabled(禁用)**,然后点击右下角 "Relaunch" 重启浏览器:

- Chrome:`chrome://flags/#local-network-access-check`

- Edge:`edge://flags/#local-network-access-check`

(1)浏览器地址栏输入,并修改下拉值

chrome://flags/#local-network-access-check

image

 

edge://flags/#local-network-access-check

{4C1ACB21-1BB4-48D3-802C-64E2765ABBED}

(2) 改为Disabled之后,浏览器右下方会自动弹出重启浏览器提示

image

 生产环境推荐做法

实验性 flag 属于本地临时手段,未来可能被移除,正式环境建议:

1. 页面使用 HTTPS(安全上下文),避免 "not secure context" 报错;

2. 内网服务在预检(Preflight)响应中返回 `Access-Control-Allow-Private-Network: true`;

posted on 2025-12-15 21:33  WhoLovesAbby  阅读(975)  评论(2)    收藏  举报