springcloud如何获取hostname和ip

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springcloud如何获取hostname和ip相关的知识,希望对你有一定的参考价值。

参考技术A 上次说到instanceinfo的hostname,ip,那么这些值是从哪来的呢?

可以看到是从InetUtils类获取的,而这个类是从InetUtilsProperties获取数据
及从配置文件 spring.cloud.inetutils 开头的配置获取。

你可以设置忽略的网卡,或者优先选择的网卡,这两个设置都支持正则

如果这两个设置你都不满意,你可以设置忽略值为 .* ,忽略所有网卡

然后用hostname从/etc/hosts中获取ip,也就是说你要在/etc/hosts设置你的ip对应的本机hostname

如果你认为这样就完事了,那就是大错特错。

通过查找InetUtils.findFirstNonLoopbackAddress引用发现,在HostInfoEnvironmentPostProcessor类中,并未使用配置文件的参数,而是直接创建了一个对象。

虽然是new了一个对象,但是其实使用了environment设置了属性,那么我们有两种方案。

还要创建META-INF/spring.factories文件

Java Web如何获取客户端的Hostname?

Java Web使用Spring框架 Tomcat部署在linux系统
请问如何获取客户端的Hostname传给后端做资料处理?
request.getRemoteHost();已测返回的是IP地址
需要JSP页面先行获取么 JS/JQuery如何获取?

参考技术A 在Java web中获取hostname的方法:
使用request对象。用:
request.getHostName();
参考技术B 取不到的,web通信,在网络上传输的只有ip,没有主机名信息的 参考技术C js获取主机名可以看看这个:
http://blog.csdn.net/zyw_anquan/article/details/7970869本回答被提问者采纳
参考技术D java.net.InetAddress inetAddress = new java.net.InetAddress();
inetAddress.getLocalHost().getHostName();

以上是关于springcloud如何获取hostname和ip的主要内容,如果未能解决你的问题,请参考以下文章

Linux命令之获取和修改主机名hostname

shell 批量获取ip 和主机名

你不知道的hostname命令

Java Web如何获取客户端的Hostname?

SpringCloud(第二天加强)

如何通过hostname获取已使用IPv6协议的IPv4地址