![request.getRemoteHost() 返回 IP 地址而不是 FQDN](https://linux22.com/image/142870/request.getRemoteHost()%20%E8%BF%94%E5%9B%9E%20IP%20%E5%9C%B0%E5%9D%80%E8%80%8C%E4%B8%8D%E6%98%AF%20FQDN.png)
我正在设计一个 servlet,我想在其中确定客户端的完全限定域名 (FQDN)。我尝试使用 javax.servlet.HttpServletRequest.getRemoteHost() 来获取主机名。当在 Apache Tomcat 作为独立服务器上运行应用程序时,request.getRemoteHost() 可以按我希望的方式工作,返回客户端的 FQDN。但是,当使用 Apache Httpd 服务器作为前端并使用 mod_jk 作为连接器运行应用程序时,request.getRemoteHost() 始终返回客户端的 IP 地址而不是 FQDN。
我尝试了以下两个配置选项来尝试解决此问题。
- 在 Apache Tomcat 的 server.xml 中我设置了enableLookups =“true”
- 在 Apache Httpd 的 httpd.conf 中,我已将 HostnameLookups 设置为 On
request.getRemoteHost() 仍然返回客户端的 IP 地址而不是 FQDN。
当使用 Apache Httpd 运行 Apache Tomcat 时,是否有一个配置选项允许我的 servlet 的 request.getRemoteHost() 方法返回客户端的 FQDN,就像仅使用 Apache Tomcat 运行时一样?
我的环境是 RHEL 7.5,带有 Apache Httpd 服务器 2.4.6 和 Apache Tomcat 8.5