关于 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;