我们在公共站点上拥有一个测试环境。在手动测试阶段,我们在Chrome浏览器上使用--disable-web-security标志使测试人员可以绕过CORS错误进行公共服务调用。同时,我们在代理机器上有来自本地主机的请求。然而,今天随着Chrome 98的更新,我们开始遇到针对本地主机的网络请求出现问题。
我们从公共站点发起了本地主机请求时出现了以下错误:
我没有看到任何预检请求,只有一个带有CORS错误的GET请求。
我们怀疑这可能是通过--disable-web-security禁用Web安全性引起的副作用。这可能会阻止获取目标IP地址空间。我们的假设基于https://wicg.github.io/private-network-access/中的CORS预检部分。
引用如下: 3.1.2. CORS预检 HTTP提取算法应进行调整,以确保在从安全上下文启动的所有私有网络请求上触发预检。这里的主要问题再次是,在CORS-preflight fetch下层的HTTP-network fetch中,响应的IP地址空间直到建立连接后才能知道。
我们从公共站点发起了本地主机请求时出现了以下错误:
Access 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”。我没有看到任何预检请求,只有一个带有CORS错误的GET请求。
我们怀疑这可能是通过--disable-web-security禁用Web安全性引起的副作用。这可能会阻止获取目标IP地址空间。我们的假设基于https://wicg.github.io/private-network-access/中的CORS预检部分。
引用如下: 3.1.2. CORS预检 HTTP提取算法应进行调整,以确保在从安全上下文启动的所有私有网络请求上触发预检。这里的主要问题再次是,在CORS-preflight fetch下层的HTTP-network fetch中,响应的IP地址空间直到建立连接后才能知道。
那么,有人知道如何在使用 --disable-web-security 标志时解决私有网络访问的问题吗? 或者我们漏掉了什么。感谢您的帮助。
---disable-web-security
(这不是可持续的做法)? - jub0bs