java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > spring eurake IP注册

spring eurake中使用IP注册及问题小结

作者:微服务技术分享

在开发spring cloud的时候遇到一个很奇葩的问题,就是服务向spring eureka中注册实例的时候使用的是机器名,然后出现localhost、xxx.xx等这样的内容,这篇文章主要介绍了spring eurake中使用IP注册,需要的朋友可以参考下

在开发spring cloud的时候遇到一个很奇葩的问题,就是服务向spring eureka中注册实例的时候使用的是机器名,然后出现localhost、xxx.xx等这样的内容,如下图:

eureka.instance.perferIpAddress=true

我不知道这朋友用的什么spring cloud版本,反正我是用的spring cloud()版本中是没有这个,但是有下面配置,

​能够正确的显示机器名这情况还是良好的,关键有的还是显示localhost,实在是纠结,然后我就开始在网上找解决方法。

在网上也找到了一些思路,如下面介绍的相关配置知识供参考。

参考:众所周知,spring cloud eureka是使用hostname进行注册的,如果想使用IP进行注册那应该如何处理呢。只需要在eureka服务端增加如下配置

eureka.instance.perferIpAddress=true

可参见spring cloud的官方手册,也可以参考提问信息

eureka.instance.prefer-ip-address=true

我是用的spring cloud maven依赖如下:

<dependencies>
 <dependency>
 <groupId>org.springframework.cloud</groupId>
 <artifactId>spring-cloud-dependencies</artifactId>
 <version>Camden.RELEASE</version>
 <type>pom</type>
 <scope>import</scope>
 </dependency>
</dependencies>

快速的将配置添加,然后发包测试,如下图:

显示结果还是没有变化,还是机器名,但是你自己观察左下角,鼠标url连接地址确实变成了IP,只是URL显示还是机器名,ok,起码解决了一部分,剩下的就是显示问题了。

在网上搜来搜去,多数都是说增加

eureka.instance.prefer-ip-address=true

​配置

https://www.jb51.net/article/173818.htm等都是没有解决问题的。

最终,在http://www.cnphp6.com/detail/17565找到配置,需要配置

eureka.instance.preferIpAddress=true
eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}

ok,赶紧上代码,运行测试,如下图

ok,成功,这就是我希望的结果。

到此这篇关于spring eurake中使用IP注册及问题小结的文章就介绍到这了,更多相关spring eurake IP注册内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文