我在 ubuntu 14.x 64bit 上有一个 logstash / elastic search / 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
如果我更改该配置,并输入 DNS 而不是 ip,我会收到以下错误:
Failed to tls handshake with x.x.x.x x509: certificate is valid for , not my-dns.com
非常感谢任何指导。
**更新:似乎在我可以安装 logstash-forwarder rpm 的 64 位系统上不会发生这种情况。因此问题可能出在我下载并使用 go 编译的 32 位版本中。
答案1
我通过生成不带 -batch 参数的新证书解决了这个问题。这意味着证书在生成时要求输入“通用名称”。
我将 logstash 服务器 dns 作为通用名称,用新证书替换旧证书,这样就成功了。下面是我用来生成新证书的命令:
openssl req -x509 -nodes -newkey rsa:2048 -keyout logstash-forwarder.key -out logstash-forwarder.crt