配置Elasticsearch/Kibana的Xpack时无法验证首个证书如何解决
问题原因
Kibana日志报错unable to verify the first certificate是因为Kibana作为客户端向Elasticsearch发起HTTPS请求时,没有配置信任的CA证书,无法验证ES服务端的SSL证书合法性导致的。你当前kibana.yml中配置的server.ssl.*相关参数仅用于用户访问Kibana服务时的HTTPS加密,和Kibana自身连接ES的SSL校验无关。
解决方案
步骤1:修改kibana.yml配置
在kibana.yml中新增Kibana连接ES的SSL信任配置,完整参考如下:
server.name: "my-kibana" server.host: "0.0.0.0" elasticsearch.hosts: ["https://0.0.0.0:9200"] server.ssl.enabled: true server.ssl.certificate: /etc/kibana/certs/kibana.crt server.ssl.key: /etc/kibana/certs/kibana.key server.ssl.certificateAuthorities: ["/etc/kibana/certs/ca.crt"] elasticsearch.username: "kibana_system" elasticsearch.password: "kibana" # 新增以下配置 elasticsearch.ssl.certificateAuthorities: ["/etc/kibana/certs/ca.crt"] # 若ES证书的主题备用名称(SAN)未包含0.0.0.0,可新增以下配置跳过主机名校验(生产环境建议优先修改证书补充对应SAN,不建议直接关闭主机名校验) # elasticsearch.ssl.verificationMode: certificate
步骤2:修正证书文件权限
确保Kibana运行用户有权限读取证书目录下的所有文件,执行命令:
chown -R kibana:kibana /etc/kibana/certs/ chmod 600 /etc/kibana/certs/*
注意请确认/etc/kibana/certs/ca.crt和ES节点使用的/etc/elasticsearch/certs/ca.crt为同一个CA证书,避免拷贝错误导致校验失败。
步骤3:重启Kibana服务
systemctl restart kibana # 可执行以下命令实时查看启动日志确认是否恢复正常 journalctl -u kibana -f
等待服务启动完成后再访问Kibana GUI即可。
内容的提问来源于stack exchange,提问作者Ciocoiu Petrisor
相关产品推荐
相关产品推荐

