You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用OpenSSL生成自签名证书启动Elasticsearch失败求助

问题排查与解决

错误提示明确指出:transport.p12这个truststore中没有任何可信证书条目,这是因为用OpenSSL生成PKCS12文件时,默认不会将-certfile指定的根CA证书标记为可信证书,而Elasticsearch读取truststore时需要明确的可信条目。

验证问题

先执行以下命令确认PKCS12文件的内容:

keytool -list -v -keystore /Users/mac/Documents/logging/elasticsearch/config/certs/transport.p12 -storetype pkcs12

输入文件密码后,查看输出中的Trusted Certificates部分,如果为空,就确认了问题所在。

修复步骤

1. 重新生成PKCS12文件

修改生成transport.p12的命令,添加-chain参数,让OpenSSL将根CA证书加入可信证书链:

openssl pkcs12 -export -out transport.p12 -inkey transport.key -in transport.crt -certfile rootCA.pem -chain

同样,elasticsearch.p12也建议用相同命令重新生成,避免后续HTTP SSL连接出现类似问题:

openssl pkcs12 -export -out elasticsearch.p12 -inkey elasticsearch.key -in elasticsearch.crt -certfile rootCA.pem -chain

生成时注意输入的密码要保持一致,Elasticsearch访问keystore和truststore(同一文件)需要相同密码。

2. 确认配置正确性

你的elasticsearch.yml配置本身没问题,transport的keystore和truststore共用一个PKCS12文件是允许的,只要文件包含密钥对和可信证书即可。

3. 权限检查

确保Elasticsearch进程对certs目录下的文件有读取权限:

chmod 644 /Users/mac/Documents/logging/elasticsearch/config/certs/*.p12
chown elasticsearch:elasticsearch /Users/mac/Documents/logging/elasticsearch/config/certs/ -R

(根据实际运行Elasticsearch的用户调整用户组)

重新启动Elasticsearch

完成上述步骤后,重新启动Elasticsearch,应该能正常加载SSL配置。

内容的提问来源于stack exchange,提问作者Jeffery

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 00:42:17