切换不同的网络访问同一个业务报错"network error"
问题现象:
业务:xxx,使用谷歌浏览器登陆之后,访问“商品档案”模块,会提示“network error”报错内容,但是切换到其他浏览器测试是可以正常访问的,同时,在使用谷歌浏览器访问的情况下,如果切换电脑连接的网络环境为手机热点,测试也是可以正常访问的。
处理步骤:
由于客户反馈的这个问题现象,我们这边网络环境下没有复现,所以远程到客户电脑,然后测试问题可以复现。谷歌浏览器访问,结合F12开发者调试工具,看到更详细的报错内容,如下:
粘贴出报错文本内容:
A site requested a resource from a network that it could only access because of its users' privileged network position. These requests expose devices and servers to the internet, increasing the risk of a cross-site request forgery (CSRF) attack, and/or information leakage. |
从报错内容来看,大致为:Chrome禁止发送不安全的内网网络请求。通过大量搜索,找到大概有两种解决方式:
配置目标访问地址为https模式
配置允许“InsecurePrivateNetworkRequests”
我们选择尝试第二种方式。
1、打开Chrome实验功能,在Chrome浏览器地址栏输入,chrome://flags/ ,访问。或者在地址栏输入:chrome://flags/#block-insecure-private-network-requests
2、找到 Block insecure private network requests. 并且禁用。
3、重启浏览器访问验证。
最终验证第二种方案可行,再次访问业务测试页面没有报错。打开浏览器调试模式依然存在对应警告提示,不过不影响访问。
虽然通过以上方法解决了问题,但是至于为什么同一个浏览器访问,只是从公司网络环境切换到手机热点,却也对应不同的测试解决。该疑问暂时没有得到答案。