SpringCloud服务IP使用V.P.N地址解决方案

场景描述

服务器在外网,而且需要通过V.P.N账户才能访问连接,所以这个时候我们会有两个地址:
1.本地局域网ip:比如192.168.1.99
2.V.P.N网络IP地址:比如172.17.1.*等

那么如果我们在这种情况需要在研发环境中进行前后端接口对接,就会有一个问题:每次部署服务到服务器上很慢,因为服务器在北京,而我在深圳,通过V.P.N后上传好慢。那么我们是否可以直接使用本地启动服务注册V.P.N地址到注册中心?这样注册中心就可以找到V.P.N地址,答案是肯定的,下面是我解决这一问题的过程记录。

未解决问题

我的电脑在不配置bootstrap.yml的情况下,无法实现使用×××地址上报到注册中心,实际使用时本地局域网地址。
但是我的同事却可以,他也没有做配置,这个问题我至今没有搞明白为啥,所以有懂这个问题的大神可以给我留言,把你的分析分享给我吗,感谢。

配置解决方案

配置对应服务的bootstrap.yml,对应用地址进行配置,加如下配置:

spring:
  cloud:
    inetutils:
      preferred-networks: 172.17.1.*
      use-only-site-local-interfaces: true

然后启动服务,查看注册中心就可以看到ip使用的是V.P.N上的地址了。

备注:切记是加在bootstrap.yml,因为bootstrap.yml的优先级最高,是启动最先加载的配置文件,所以像这种注册服务策略应该放到这里。而不是放到git上的配置文件上。注意!!!!

关于未搞明白的那个问题,希望有了解的大神赐教,暂时因项目关系,所以没有时间深入研究,我个人觉得跟系统、网络相关所以我就没有继续下去了,不知道对不对,更不知道原因。

猜你喜欢

转载自blog.51cto.com/4837471/2369824
今日推荐