0


chrome108 版本跨域问题

前言

近期,chrome又更新了,自动更新到了chrome的108.0.5359.95(正式版本) (64 位),更新到这个版本后,公司业务收到了一个故障,下面我们就来看看。

背景:

客户访问我公司的公网的网站,比如http://example.com,然后客户连接vpn。网站根据客户登录的账号,找到服务器,坐席通过vpn和服务器通信

  • • 服务器的ip地址:10.20.31.72
  • • 客户连接了vpn后的地址为10.20.25.124

客户使用chrome浏览器,chrome自动更新策略,浏览器更新到了当前最新版本108.0.5359.95,更新后客户登录网址发生了如下错误。

图片

The request client is not a secure context and the resource is in more-private address space

private

.

在以前的chrome版本当中,你只需要设置

chrome://flags/#block-insecure-private-network-requests

,就可以了,但是在chrome108当中,这个选项被删除了。

chrome私有网络预检,之前我们就设置过,但是查看客户的浏览器的network,发现chrome并没有发起预检,而是直接失败了。感兴趣的可以看之前的文章。你知道吗?chrome自动更新到104版本,居然引起Java服务内存泄漏

也就是说,chrome根本没有发请求到服务器,连options探测都没有,这点通过抓包文件,验证了,所以我们服务器加跨域处理是没有用的。

解决办法

在chrome108当中,需要设置

chrome://flags/#unsafely-treat-insecure-origin-as-secure

,改为enable,把不安全来源视为安全。由于我这边网站和服务器都使用的是http,所以都是不安全的,具体查看w3c定义.

因此我们需要在里面设置2个ip,以逗号分隔

http://example.com,http://10.20.25.124

,并重启chrome,重启后chrome会发预检请求,预检通过后会发正常的业务请求。

希望能帮助到你。

标签: chrome 前端 服务器

本文转载自: https://blog.csdn.net/qq_28880087/article/details/128206636
版权归原作者 死磕音视频 所有, 如有侵权,请联系我们删除。

“chrome108 版本跨域问题”的评论:

还没有评论