logstash-forwarder 无法 tls 握手无法验证证书,因为它不包含任何 IP SANS

fel*_*bus 3 linux x509

我在 ubuntu 14.x 64bit 上有一个 logstash/elasticsearch/kibana 服务器。

我还有其他几台使用 logstash-forwarder 具有相同规格的服务器,一切都按预期工作。

但是,当我设置 32 位 centos 6 服务器时,配置如下:

链接到配置示例

我收到以下错误:

Failed to tls handshake with x.x.x.x x509: cannot validate certificate for x.x.x.x because it doesn't contain any IP SANs
Run Code Online (Sandbox Code Playgroud)

如果我更改该配置,并输入 DNS 而不是 ip,则会出现以下错误:

Failed to tls handshake with x.x.x.x x509: certificate is valid for , not my-dns.com
Run Code Online (Sandbox Code Playgroud)

任何指导非常感谢..

**更新:这似乎不会发生在我可以安装 logstash-forwarder rpm 的 64 位系统上。所以问题可能出在我用 go 下载和编译的 32 位版本中。

fel*_*bus 6

我通过生成一个没有 -batch 参数的新证书来解决这个问题。这意味着证书在生成时要求提供“通用名称”。

我将 logstash 服务器 dns 作为通用名称,用新证书替换旧证书,并且它起作用了。这是我用来生成新证书的命令:

openssl req -x509 -nodes -newkey rsa:2048 -keyout logstash-forwarder.key -out logstash-forwarder.crt
Run Code Online (Sandbox Code Playgroud)