我有一个正在开发中的服务器,一些开发人员连接到它。
此服务器使用 Java 的 TLS 实现和 SSLEngine
。
我们看到,起初,每个新连接都会有很长的延迟(30-40 秒)。我们将其缩小到反向 DNS 查找超时。我们通过将所有 IP 放入 HOSTS
文件来解决这个问题。
现在,问题是我们要逐步扩大我们的用户群,我不想编辑 HOSTS
文件,尤其是因为我们不能保证他们会有静态 IP。
有没有办法在 Java 的 SSL/TLS 中禁用反向 DNS 查找步骤?
我想将其作为可配置参数,以便我们可以在开发过程中将其关闭。
最佳答案
今天,当我尝试仅通过 IP 地址创建 SSL 套接字连接时,我遇到了同样的问题。这导致了反向 DNS 查找尝试,因此它真的很慢......
对我来说,解决方案是在为 SSL 连接创建 InetAddress 时简单地传递一个虚拟的空字符串作为主机名。也就是我变了
InetAddress.getByAddress(addrBytes)
到
InetAddress.getByAddress("", addrBytes)
并且它不再进行反向 DNS 查找。
关于java - 如何禁用 Java 的 SSL 反向 DNS 查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3193936/