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 SAN。

编辑

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

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

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

getsockopt: 没有到主机的路由

编辑

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

getsockopt: 连接被拒绝

编辑

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

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

编辑

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