场景:本地浏览器要获取局域网内某台服务器的数据,然后再用获取的数据跟云平台java后端交互。后端用springboot,允许跨域注解有写。
报错代码:from origin 'http://xxxx' has been blocked by CORS policy:The request client is not a secure context and the resource is more-private address space 'private'
原因: 非公共 IP 地址块
,从公共页面请求私有服务的数据,或者从私有服务请求本地数据,都会触发上述错误。由此可知以下情况是不允许的:
1. 从公共服务访问私有服务
2. 从公共服务访问本地服务
3. 从私有服务访问本地服务
解决办法:
1.如果是访问本地服务(localhost 127.0.0.1),地址栏用的是https访问公共服务就OK
2.如果要访问私有服务(例如局域网内某台服务器),那么地址栏用http来访问公共服务同时设置谷歌的跨域资源限制就行->访问chrome://flags/#block-insecure-private-network-requests然后将Block insecure private network requests设置成disabled就行