切换不同的网络访问同一个业务报错"network error"

小丫2年前技术文章1546

问题现象:

业务:xxx,使用谷歌浏览器登陆之后,访问“商品档案”模块,会提示“network error”报错内容,但是切换到其他浏览器测试是可以正常访问的,同时,在使用谷歌浏览器访问的情况下,如果切换电脑连接的网络环境为手机热点,测试也是可以正常访问的。

image.png

处理步骤:

由于客户反馈的这个问题现象,我们这边网络环境下没有复现,所以远程到客户电脑,然后测试问题可以复现。谷歌浏览器访问,结合F12开发者调试工具,看到更详细的报错内容,如下:

image.png

粘贴出报错文本内容:

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.
To mitigate these risks, Chrome deprecates requests to non-public subresources when initiated from non-secure contexts, and will start blocking them in Chrome 92 (July 2021).
To fix this issue, migrate the website that needs to access local resources to HTTPS. If the target resource is not served on localhost, it must also be served on HTTPS to avoid mixed-content issues.
Administrators can make use of the InsecurePrivateNetworkRequestsAllowed and InsecurePrivateNetworkRequestsAllowedForUrls enterprise policies to temporarily disable this restriction on all or certain websites.

从报错内容来看,大致为:Chrome禁止发送不安全的内网网络请求。通过大量搜索,找到大概有两种解决方式:

  • 配置目标访问地址为https模式

  • 配置允许“InsecurePrivateNetworkRequests”

我们选择尝试第二种方式。

1、打开Chrome实验功能,在Chrome浏览器地址栏输入,chrome://flags/  ,访问。或者在地址栏输入:chrome://flags/#block-insecure-private-network-requests

2、找到 Block insecure private network requests. 并且禁用。

3、重启浏览器访问验证。

最终验证第二种方案可行,再次访问业务测试页面没有报错。打开浏览器调试模式依然存在对应警告提示,不过不影响访问。

image.png

虽然通过以上方法解决了问题,但是至于为什么同一个浏览器访问,只是从公司网络环境切换到手机热点,却也对应不同的测试解决。该疑问暂时没有得到答案。


相关文章

基于Gitlab和Kubernetes的CI/CD

基于Gitlab和Kubernetes的CI/CD

此套CI/CD流程仅依赖gitlab。runner等组件安装在kubernetes集群中,尽量减少其他依赖,便于维护。依赖介绍gitlab runnergitlab runner用来运行我们的作业并将...

trino容器设置nodeselector(七)

trino容器设置nodeselector(七)

查看node labelkubectl get nodes --show-labels2、在容器中设置nodeselector属性  nodeSelector:     dps: "1"查看k8s...

Dockerfile编写指南

Dockerfile编写指南

一、背景  在k8s提出抛弃docker,拥抱其他的cri插件的情况下,为什么还有这篇指南呢?首先Dockerfile作为容器打包的标准,已经存在了很多年了。其中的编写技巧到现在也是一直延续的,所以并...

GTID 模式 - 通过跳过事务解决主从故障

一、前言很多场景下我们需要跳过一个事务来修复主从关系,例如主从事务不一致,或者对无主键表更新,导致较大延迟,操作过程在此记录。二、操作流程1. 获取最后一个 GTID 操作在 GTID 模式下,如果需...

MySQL keepalived安装配置(二)

MySQL keepalived安装配置(二)

一、keepalived安装配置1.1、主备库安装keepalived服务:yum install -y keepalived yum install -y python MySQL-python1...

MySQL 8.0 新特性深度解析,成为数据库高手的必备!

MySQL 8.0 新特性深度解析,成为数据库高手的必备!

前言MySQL 5.7 在 2023 年 10 月 31 日起,就已经终止软件生命周期了,意味着 MySQL 官方将不再提供对 MySQL 5.7 版本的技术支持和更新。8.0 版本成为官方长期支持版...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。