此问题出现于windows 本地测试时
问题症状
微服务注册成功,但是无法访问到相应的微服务。查看consul注册服务信息发现注册的服务地址非内网地址。(这个问题太蠢了,出了两次)
解决方案
禁用虚拟网卡或提高网络的优先级(跃点减少)
-
简单粗暴解决法
在控制面板->网络连接中找到虚拟网卡直接禁用
优点: 简单粗暴,立刻可用
缺点: 虚拟网卡将无法使用,例如docker的创建的虚拟网卡禁用后会导致docker内服务无法访问 -
设置优先级
在控制面板->网络连接中找到当前使用的网络->属性->IPV4->属性->高级
取消选中自动跃点,将接口跃点数填一个比较小的值(比如:10),将虚拟网卡跃点数同样设置为大于当前网络的跃点数
优点: 虚拟网卡也能正常使用
缺点: 需要重启应用配置
当出现这种情况的时候有一种简单的方法来看是否是多个网卡造成的问题:
在powershell中ipconfig查看本地适配器信息,正常来说你当前使用的网络(外网)的排序如果在你的虚拟网卡排序下面,就很有可能是跃点问题了
网友评论