chrome升级后报错The request client is not a secure context and the resource is in more-private address sp

文章讲述了在Chrome浏览器升级后,由于新的安全策略,公网资源无法访问私网资源,导致跨域请求失败。作者排除了后端服务的跨域配置问题,并分析了浏览器的限制原因。提出的解决方案包括使用HTTPS、设置代理、修改DNS或在Nginx中添加响应头`Access-Control-Allow-Private-Network:true`。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于 chrome升级后出现出现的问题:

has been blocked by CORS policy: The request client is not a secure context and the resource is in more-private address space private.
在这里插入图片描述
原本各项请求都挺正常的,有一天谷歌浏览器升级后就开始报以上错误。要知道以上的错误都是后端服务受到请求后再发出的并不是

解决思路

1、检查后端服务的跨域配置 (之前都已经配置过,其他跨域的都没问题,接口已经运行了有一年了)忽略此项检查
2、谷歌对请求进行了限制

问题描述

官方对这一安全设置项的说明:https://wicg.github.io/local-network-access/

问题原因:

谷歌浏览器升级后做了限制:公网资源(访问者) 访问 私网资源(被访问者)

解决方案:

1:两种资源都改成https。
(访问者的是http,我们的接口是https的),显然这种方式不太现实。
2:做代理或改dns 两种资源都改成 内网或者外网ip。
(这种的也不太现实)
3:配置chrome选项为disable chrome://flags/#block-insecure-private-network-requests
(这种的也不太现实,我们不可能给每个用户的浏览器中添加)
4、访问者资源加响应头 add_header Access-Control-Allow-Private-Network true;

实际设置

在nginx的请求中添加,add_header Access-Control-Allow-Private-Network true;

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值