现象
在开发或联调时,通过局域网 IP 访问同事项目,例如:
http://192.168.x.x:xxxx
出现以下情况:
- Safari可以正常访问(其他浏览器没试过)
- Chrome 无法访问,页面错误信息:
ERR_ADDRESS_UNREACHABLE
此时你去mac系统设置->隐私与安全性->本地网络 你很可能会发现有好几个chrome,而且权限都是开启的,彻底卸载chrome也不行
🎯 根本原因
这是 macOS 的一个系统级问题(超级大坑,而且竟然已经很久了):
Local Network Privacy(本地网络权限)+ NetworkExtension 缓存异常
我验证过的解决方案
步骤 1:进入恢复模式
- Apple Silicon:长按电源 → 进入恢复模式
- Intel:开机按
Command + R
步骤 2:关闭 SIP
到恢复模式界面点设置,然后在顶部菜单栏->实用工具里打开终端输入:
csrutil disable
然后按提示输入y和密码回车 稍微等一会会提示你可以重启生效
步骤 3:重启
步骤 4:删除 NetworkExtension 缓存
sudo rm /Library/Preferences/com.apple.networkextension.plist
sudo rm /Library/Preferences/com.apple.networkextension.uuidcache.plist
步骤 5:重启
步骤 6:重新授权
重启后再次打开chrome访问之前的ip地址http://192.168.x.x:xxxx
此时会弹出:
“Google Chrome 想要访问本地网络”
点击 允许
步骤 7:重新开启 SIP
此时已经可以正常使用了,但建议还是开启.
再次进入恢复模式:
csrutil enable
最后再次重启就好了.
最后希望沟槽的苹果或者chrome能早日解决这个BUG