HTTPS启用后elasticsearch_exporter连接ES报x509未知证书错误求助
问题根因
报错核心为TLS证书不被信任,原因是elasticsearch_exporter的--es.ca参数仅支持PEM格式的CA根证书,无法直接解析你传入的PKCS12格式(.p12后缀)的证书包。
解决方案
方案1:转换证书格式(生产环境推荐)
- 用openssl工具将p12格式的CA证书转换为PEM格式,执行命令:
openssl pkcs12 -in ca.p12 -cacerts -nokeys -out ca.crt
如果你的ca.p12设置了导出密码,执行时按提示输入密码即可。
2. 修改启动命令,替换CA证书路径即可正常启动:
./elasticsearch_exporter --es.uri="https://<user>:<password>@<host>:9200" --es.ca="./ca.crt" --es.all
备注:如果你的Elasticsearch开启了双向TLS认证,还需要从p12包中导出客户端证书和私钥,额外添加启动参数
--es.client-cert=./client.crt、--es.client-private-key=./client.key即可。
方案2:跳过证书校验(仅测试环境临时使用)
如果是测试场景无需校验证书合法性,可以直接添加跳过TLS校验的参数,无需处理证书:
./elasticsearch_exporter --es.uri="https://<user>:<password>@<host>:9200" --es.ssl-skip-verify --es.all
注意:该配置会跳过所有证书合法性校验,存在中间人攻击风险,禁止在生产环境使用。
验证方式
启动后访问exporter的指标接口http://<exporter部署地址>:9114/metrics,如果返回包含elasticsearch_前缀的指标数据,且无新的证书相关报错即为配置成功。
内容的提问来源于stack exchange,提问作者Sitakant Mishra
相关产品推荐
相关产品推荐

