Tomcat 9网络应用程序';s InetAddress.getByName不工作(java.net.UnknownHostException)
我在tomcat9上部署了一个.war webapp(以前在tomcat6上运行良好) 在我的.war webapp中,我有一个对InetAddress.getByName的调用,这会导致一个UnknownHostException。但是,我知道dns在系统中工作(ping、dig和nslookup在系统上工作得很好) 起初,我认为server.xml上的连接器缺少enableLookups=“true”属性,但添加该属性无效:Tomcat 9网络应用程序';s InetAddress.getByName不工作(java.net.UnknownHostException),java,tomcat,centos7,tomcat9,Java,Tomcat,Centos7,Tomcat9,我在tomcat9上部署了一个.war webapp(以前在tomcat6上运行良好) 在我的.war webapp中,我有一个对InetAddress.getByName的调用,这会导致一个UnknownHostException。但是,我知道dns在系统中工作(ping、dig和nslookup在系统上工作得很好) 起初,我认为server.xml上的连接器缺少enableLookups=“true”属性,但添加该属性无效: <Connector port="8080
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
enableLookups="true" />
有趣的是,如果我将有问题的主机添加到/etc/hosts,则查找会成功-但是我想知道发生了什么,并允许我的webapp实际使用DNS
我在CentOS 7上运行openjdk-1.8
编辑:我应该补充一点,当tomcat webapp失败时,tcpdump在端口53上显示没有流量-看起来它甚至没有尝试使用DNS。自然,我在发布问题后立即发现了问题: 我的tomcat用户没有读取/etc/resolv.conf的适当权限
sudo chmod a+r /etc/resolv.conf
修正了
sudo chmod a+r /etc/resolv.conf