Tomcat 9网络应用程序';s InetAddress.getByName不工作(java.net.UnknownHostException)

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

我在tomcat9上部署了一个.war webapp(以前在tomcat6上运行良好)

在我的.war webapp中,我有一个对InetAddress.getByName的调用,这会导致一个UnknownHostException。但是,我知道dns在系统中工作(ping、dig和nslookup在系统上工作得很好)

起初,我认为server.xml上的连接器缺少enableLookups=“true”属性,但添加该属性无效:

    <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