Spring Cloud常见问题之:无法注册主机名
2017-10-31 00:00
295 查看
此前,笔者已经写过多篇总结Spring Cloud常见问题的博客(详情请在本博客首页http://www.itmuch.com 搜索按钮进行搜索,关键词:常见问题)。
本文将讨论微服务无法向Eureka Server注册主机名的问题。
我们常使用如下配置实现将微服务注册到Eureka Server:
由于没有配置eureka.instance.prefer-ip-address=true ,因此此时微服务将会注册所在主机/容器的主机名到Eureka Server。
然而,我们会发现有时可能造成注册IP到Eureka Server的情况——这就诡异了,明明应该注册主机名到Eureka Server的,竟然注册了IP地址。这是怎么回事呢?如何解决该问题呢?
原来,这是由于主机名是通过调用Java API获取的,有时候Java API无法获得主机名,于是会将IP地址发送给Eureka Server。
那么如何解决这个问题呢?
答案很简单,使用配置eureka.instance.hostname 即可。你可以使用将其设置为一个环境变量,例如:eureka.instance.hostname=${HOST_NAME} 。这样在启动时,只要你配置了环境变量HOST_NAME ,就可以将你所配置的环境变量注册到Eureka Server了。
获取主机名的相关代码
https://github.com/spring-cloud/spring-cloud-commons/blob/master/spring-cloud-commons/src/main/java/org/springframework/cloud/commons/util/InetUtils.java
相关Issue
https://github.com/spring-cloud/spring-cloud-netflix/issues/2084
本文链接:Spring Cloud常见问题之:无法注册主机名
转载声明:本博客由周立创作,采用 CC BY 3.0 CN 许可协议。可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
本文将讨论微服务无法向Eureka Server注册主机名的问题。
我们常使用如下配置实现将微服务注册到Eureka Server:
eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/
由于没有配置eureka.instance.prefer-ip-address=true ,因此此时微服务将会注册所在主机/容器的主机名到Eureka Server。
然而,我们会发现有时可能造成注册IP到Eureka Server的情况——这就诡异了,明明应该注册主机名到Eureka Server的,竟然注册了IP地址。这是怎么回事呢?如何解决该问题呢?
原来,这是由于主机名是通过调用Java API获取的,有时候Java API无法获得主机名,于是会将IP地址发送给Eureka Server。
那么如何解决这个问题呢?
答案很简单,使用配置eureka.instance.hostname 即可。你可以使用将其设置为一个环境变量,例如:eureka.instance.hostname=${HOST_NAME} 。这样在启动时,只要你配置了环境变量HOST_NAME ,就可以将你所配置的环境变量注册到Eureka Server了。
获取主机名的相关代码
https://github.com/spring-cloud/spring-cloud-commons/blob/master/spring-cloud-commons/src/main/java/org/springframework/cloud/commons/util/InetUtils.java
相关Issue
https://github.com/spring-cloud/spring-cloud-netflix/issues/2084
本文链接:Spring Cloud常见问题之:无法注册主机名
转载声明:本博客由周立创作,采用 CC BY 3.0 CN 许可协议。可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
相关文章推荐
- 虚拟主机常见问题:您要访问的网页有问题,无法显示
- VMware Workstation中客户机与主机之间无法复制文件和剪切板问题解决
- Dynamics CRM2013/2015 插件注册工具登录后无法显示assembly列表问题的解决办法
- 无法导入reg:指定的文件不是注册脚本——兼了解文本格式问题
- RegisterStartupScript或RegisterClientScriptBlock注册js脚本而无法执行的问题分析
- Win8下Visual Studio编译报“无法注册程序集***dll- 拒绝访问。请确保您正在以管理员身份运行应用程序。对注册表项”***“的访问被拒绝。”问题修正(转)
- QGC 支付宝无法异步通知及异步通知常见问题注意事项
- apache服务器开启虚拟主机后localhost和ip无法访问的问题
- nagios监控Linux主机,无法出现图标的问题
- loudrunner无法录制脚本常见几种问题。
- Win7无法安装IE10的常见问题和解决方法
- (ubuntu系列)——问题:无法解析主机
- 新浪云安装Carbon Forum出现无法注册的问题
- 主机win7与虚拟linux无法ssh问题解析
- 解决 CentOS 主机上的 MySQL 无法连接的问题
- 解决android EventBus 注册事件后但还无法相应事件的问题
- Dynamics CRM2013/2015 插件注册工具登录后无法显示assembly列表问题的解决办法二
- Eclipse下开发JavaEE常见问题之——通过Eclipse部署工程无法访问
- 【BMC_patrol常见问题汇总】IP地址不存在 导致agent无法启动的解决
- phpcms更换域名用户无法注册问题