java - 如何禁用 Java 的 SSL 反向 DNS 查找

标签 java ssl dns

我有一个正在开发中的服务器,一些开发人员连接到它。 此服务器使用 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/

相关文章:

ubuntu - 如何配置nginx www和非www域

java - 使用 RESTEasy 处理格式错误的@QueryParam

ssl - 在 Service Fabric 中升级客户端证书

javascript - 有没有办法在没有 SSL 证书的情况下清除 HSTS?

web-services - 如何验证电子邮件地址的顶级域?

c - 生产者/消费者线程无法使用 pthread 进行 DNS 查找

java - 仅使用 CA 证书而不使用 keystore 的 SSLContext

java - 从Java中的构造函数调用抽象方法可以吗?

java - Spring 中的内部 bean 是什么?

ssl - 如何在 IP 地址上强制使用 SSLv3 连接?