本文主要是介绍Windows+WSL开发环境下微服务注册(Consul)指定IP,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Win11下安装一个WSL2,做开发环境,简直是爽到不要不要的,相当于既有Windows下的完善生态,又有linux的便利。特别是,在linux下运行的服务端口号,完全和windows是相通的,直接在windows下浏览访问,不需要配置端口转发。linux上跑docker服务,Windows直接访问。
但今天碰到一个问题,由于在客户现场没有WIFI,只能用手机热点,就算有WIFI,有时WIFI中断,或重新连接时IP也不一样了,所以在Windows上启动的服务注册到注册中心,就变得无法通过注册中心访问了。这就需要指定一下注册IP,使得windows和linux都能在没有WLAN的情况下都能访问。用localhost肯定不行,因为windows和linux的localhost不是同一台机器。尝试了一下,用windows的主机名作为注册地址,在windows下ping 主机名,得到是127.0.0.1, 在Linux下ping 主机名,得到127.0.1.1,windows可以正常访问服务,但linux不行。于是指定使用(WSL (Hyper-V firewall))网关的IP: 172.22.160.1,经测试,windows 和linux 下ping通没问题。于是在配置中心加上:
spring:cloud:consul:discovery:prefer-ip-address: trueip-address: 172.22.60.1
重启微服务,测试一下,windows 和linux 下都能正常访问。
这篇关于Windows+WSL开发环境下微服务注册(Consul)指定IP的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!