SSL 客户端无法连接到 Logstash

编辑

SSL 客户端无法连接到 Logstash编辑

运行 Logstash 的主机可能无法访问,或者证书可能无效。 要解决您的问题

  • 确保 Logstash 正在运行,并且您可以连接到它。 首先,尝试 ping Logstash 主机以验证您是否可以从运行 Filebeat 的主机访问它。 然后使用 nctelnet 确保端口可用。 例如

    ping <hostname or IP>
    telnet <hostname or IP> 5044
  • 验证证书是否有效,以及主机名和 IP 是否匹配。

    仅用于测试目的,您可以设置 verification_mode: none 来禁用主机名检查。

  • 使用 OpenSSL 测试连接到 Logstash 服务器并诊断问题。 有关更多信息,请参阅 OpenSSL 文档
  • 确保在配置 Logstash 的 Beats 输入插件 时已启用 SSL(设置 ssl => true)。

常见的 SSL 相关错误和解决方案编辑

以下是一些常见的错误以及解决方法

tls: 无法解析私钥编辑

这可能由于以下几个原因导致

  • 加密文件不被识别为加密的 PEM 块。 Filebeat 尝试使用加密的内容作为最终密钥,这会导致失败。
  • 该文件已正确加密为 PEM 块,但解密后的内容不是 Filebeat 识别的格式的密钥。 密钥必须编码为 PEM 格式。
  • 密码丢失或有错误。

x509: 无法验证 <IP 地址> 的证书,因为它不包含任何 IP SAN编辑

出现这种情况是因为您的证书仅对主体字段中存在的主机名有效。

要解决此问题,请尝试以下解决方案之一

  • 创建将主机名映射到服务器 IP 的 DNS 条目。
  • /etc/hosts 中创建主机名的条目。 或在 Windows 上在 C:\Windows\System32\drivers\etc\hosts 中添加条目。
  • 重新创建服务器证书并为服务器的 IP 地址添加 SubjectAltName (SAN)。 这使得服务器的证书对主机名和 IP 地址都有效。

getsockopt: 没有路由到主机编辑

这不是 SSL 问题。 这是一个网络问题。 确保两个主机可以通信。

getsockopt: 连接被拒绝编辑

这不是 SSL 问题。 确保 Logstash 正在运行,并且没有防火墙阻止流量。

无法建立连接,因为目标机器主动拒绝了它编辑

防火墙拒绝连接。 检查客户端、网络或目标主机上的防火墙是否阻止流量。