我们有一个托管在 LAN 中的基于 Web 的系统(非 SSL)。从 Chrome 102 (Windows/Ubuntu) 开始,我们面临一个随机的 CORS 问题,描述为
已被 CORS 策略阻止:请求的目标 IP 地址空间为“未知”,但资源位于“私有”地址空间中
我还附上图片:
该问题并不总是发生,有时刷新 Chrome 后就可以了。但有时它会出现在其他资源文件上,例如 css 或 js。
我们不知道为什么 192.168.1.168:8888 上的网页使用“script”和“link”标签来获取 .js/.css(192.168.1.168:8888 上也存在)有时会触发此问题。
“Access-Control-Allow-Origin”标头在后端代码中设置为“*”。这个问题让我们很困扰,有谁知道我们可以采取什么措施来解决这个问题?
我们在公共站点上有一个测试环境。我们在 chrome 上使用 --disable-web-security 标志,让测试人员在手动测试阶段绕过公共服务调用的 CORS 错误。而且我们在代理机器上也有本地主机请求。然而今天,随着 Chrome 98 的更新,我们开始努力应对针对 localhost 的网络请求。
\n我们收到的错误是来自公共站点的本地主机请求:
\nAccess to XMLHttpRequest at \'https://localhost:3030/static/first.qjson\' from origin \'https://....com\' has been blocked by CORS policy: Request had no target IP address space, yet the resource is in address space `local`.
本地主机上的站点配置为返回 Access-Control-Allow-* CORS 标头,包括“Access-Control-Allow-Private-Network: true”。
\n而且我也没有看到任何预检请求。只有一个 GET 请求出现 CORS 错误。
\n我们怀疑这可能是您通过 --disable-web-security 禁用 Web 安全性时引起的副作用。它可能会阻止获取目标 IP 地址空间。我们的假设基于 CORS 预检部分https://wicg.github.io/private-network-access/上的 CORS 预检部分
\n\n3.1.2. CORS 预检
\n应调整 HTTP 获取算法,以确保为从安全上下文发起的所有专用网络请求触发预检。
\n这里的主要问题还是在 HTTP 网络获取中获得连接之前,响应\xe2\x80\x99s …
仅发生在镀铬中。与其他浏览器(例如 Firefox、Edge 等)配合良好。
从源“https://www.example.com”访问位于“https://www.example.com/ajax-file.php”的 XMLHttpRequest 已被 CORS 策略阻止:请求的目标 IP 地址空间unknown为资源位于地址空间中public。
已经尝试添加其他论坛上推荐的一些标题,仍然是同样的错误。
相关问题:Chome 102:已被 CORS 策略阻止:请求的目标 IP 地址空间为“未知”,但资源位于“私有”地址空间中
Chrome Bug Tracker Comment#20 - https://bugs.chromium.org/p/chromium/issues/detail?id=1329248
有解决这个问题的方法吗?
星期五我有一个工作开发环境。星期一我有一个坏了。我在 Chrome 开发工具控制台中为我的所有资产遇到了此错误消息:
从源“http://example.com”访问“http://localhost:8080/build/app.css”的 CSS 样式表已被 CORS 策略阻止:请求客户端不是安全上下文,资源是在更私密的地址空间
local。
有什么快速解决办法吗?我尝试在我的 webpackdevServer.headers配置中设置 access-control-allow-origin无济于事:
config.devServer.headers = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept'
}
Run Code Online (Sandbox Code Playgroud) google-chrome localhost cors private-network private-network-access