SSL 客户端无法连接到 Logstash
编辑SSL 客户端无法连接到 Logstash编辑
运行 Logstash 的主机可能无法访问,或者证书可能无效。 要解决您的问题
-
确保 Logstash 正在运行并且您可以连接到它。 首先,尝试 ping Logstash 主机以验证您可以从运行 Auditbeat 的主机访问它。 然后使用
nc
或telnet
确保端口可用。 例如ping <hostname or IP> telnet <hostname or IP> 5044
-
验证证书是否有效,以及主机名和 IP 是否匹配。
仅出于测试目的,您可以设置
verification_mode: none
来禁用主机名检查。 - 使用 OpenSSL 测试与 Logstash 服务器的连接并诊断问题。 有关更多信息,请参阅 OpenSSL 文档。
- 为 Logstash 的 Beats 输入插件 配置 SSL 时(设置
ssl => true
),请确保已启用 SSL。
常见的 SSL 相关错误和解决方法编辑
以下是一些常见错误及其修复方法
tls: 无法解析私钥编辑
这可能由以下几个原因导致
- 加密文件未被识别为加密的 PEM 块。 Auditbeat 尝试将加密内容用作最终密钥,但失败了。
- 文件已在 PEM 块中正确加密,但解密后的内容不是 Auditbeat 识别的格式的密钥。 密钥必须编码为 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 正在运行并且没有防火墙阻止流量。
无法建立连接,因为目标计算机积极拒绝了它编辑
防火墙拒绝连接。 检查防火墙是否阻止了客户端、网络或目标主机上的流量。