> CentOS > CentOS故障 >

关于disconf ContOS下报cannot get host info的问题

发现linux下部署disconf报cannot get host info的问题我通过github上disconf源码发现:

 

第45行:InetAddress.getLocalHost();发现这个方法在linux上很是坑爹。

InetAddress.getLocalHost返回了一个错误的IP地址。为什么这个函数会返回一个错误的地址,因为这个函数的原理是通过获取本机的hostname,然后对此hostname做解析,从而获取IP地址的。那么问题来了,如果在本机的/etc/hosts文件里对这个主机名指向了一个错误的IP地址,那么InetAddress.getLocalHost就会返回这个错误的IP地址。当然如果你的hostname是到DNS去解析的,碰巧DNS上的信息也是错的,也同样是悲惨结局。

解决办法:

通过hostname查看主机名

修改/etc/hosts:添加一行:【本机IP地址】 【主机名】
搞定。

(责任编辑:IT)