Chrome_private-network-access-update
问题
研发人员在客户现场进行环境调试的时候,前端资源调用电脑的U盾时,浏览器console输出跨域错误,报错如下:
1 |
|
而相同代码在测试环境就可以正常调用,到了客户环境就不能使用
问题解决
- 此问题是触发了公网资源访问私有资源(127.0.0.1)的安全限制
- 此请求是直接从浏览器页面发起的,跟nginx无关
- 测试环境不触发此问题是因为测试环境属于内网IP
- 将公网地址添加ssl证书,通过https访问即可跳过此问题
- 将chrome浏览器的chrome://flags/#block-insecure-private-network-requests(将此地址在chrome浏览器地址栏中访问即可看到)设置改为disabled后 Relaunch一下即可
- 此限制是chrome在2021-08月份刚加入的
- 下面链接时此问题的说明,解决方法等相关资料。
- 还有其他解决方法,相对复杂一些,在下面文章中即可看到。
https://developer.chrome.com/blog/private-network-access-update/
https://wicg.github.io/private-network-access/#example-deny-by-default
https://wicg.github.io/private-network-access/#http-headerdef-access-control-allow-private-network
Chrome_private-network-access-update
https://imwang77.github.io/2021/10/12/Chrome_private-network-access-update/