我有2台服务器:
如果我在logstash服务器上运行logstash-forwarder - 没关系。
但如果我在app服务器上运行logstash-forwarder,我会收到错误:
Failed to tls handshake with <ip> x509: certificate has expired or is not yet valid
当我按命令检查证书时:
openssl x509 -in logstash-forwarder.crt -noout -text
我持有效证书:
...
Validity
Not Before: Jun 28 17:33:36 2015 GMT
Not After : Jun 27 17:33:36 2016 GMT
...
X509v3 extensions:
X509v3 Subject Alternative Name:
IP Address:<ip>
应用投放日期:
root@app:/etc/pki/logstash# date
Sun Jun 28 20:53:30 MSK 2015
怎么了?
答案 0 :(得分:0)
我遇到了类似的问题并修复了它。看起来您没有为您的logstash索引服务器设置任何DNS。在这种情况下,您必须将SAN设置为openssl.cnf
并重新生成证书以及密钥。
如何设置SAN?
sudo vi /etc/pki/tls/openssl.cnf
找到文件中的 [v3_ca] 部分,并在其下添加此行(替换为Logstash Index Server的IP地址):
subjectAltName = IP: logstash__index_server_private_ip
之后尝试重新生成证书和密钥
cd /etc/pki/tls
sudo openssl req -config /etc/pki/tls/openssl.cnf -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout private/logstash-forwarder.key -out certs/logstash-forwarder.crt
并相应地更改配置文件以指向两端的证书和密钥(索引和转发器)。希望这会为你锻炼。