【发布时间】:2020-01-31 01:14:33
【问题描述】:
我有一些主机返回 InetAddress.getLocalHost().getCanonicalHostName()(Documented here) 的不合格名称
例如“foo”而不是“foo.example.com”。
什么可能导致此问题,我该如何解决?
在命令行上运行“hostname -f”会返回 FQDN
和短名称上的 nslookup 也返回 FQDN。
CentOS 7.7.1908
JRE 1.8.0_231-b11
【问题讨论】:
-
DNS 配置错误。
-
DNS 配置错误是什么意思?使用短名称运行 nslookup 会在好主机和坏主机上返回 FQDN。
-
文档说 getCanonicalHostName() 获取此 IP 地址的完全限定域名。尽力而为的方法,这意味着我们可能无法根据底层系统配置返回 FQDN。说多了docs.oracle.com/javase/7/docs/api/java/net/…,如果这还不够,这里还有很多unix.stackexchange.com/questions/186859/…
-
您是否尝试过在
getCanonicalHostName的JDK 中逐步调试实现?
标签: java java-8 centos7 hostname