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

配置p12 SSL证书后Apache Solr无法启动的问题求助

Apache Solr配置自定义P12证书后无法启动的排查与解决

问题背景

通过OpenSSL生成P12证书并配置Solr SSL参数后,服务重启失败且无明确SSL错误日志,禁用SSL配置后服务恢复正常,目标是实现Solr HTTPS启动。

排查与解决步骤

1. 验证P12证书有效性

执行以下命令检查证书是否完整且无损坏:

openssl pkcs12 -info -in /home/debian/ssl/mydomain.p12 -passin pass:mypassword

确认输出包含完整证书链(根证书、中间证书)和私钥,无任何报错。若证书链缺失,会导致Solr启动时静默失败。

2. 修复文件权限问题

Solr通常以solr用户运行,需确保该用户对证书文件有读取权限:

sudo chown solr:solr /home/debian/ssl/mydomain.p12
sudo chmod 600 /home/debian/ssl/mydomain.p12

严格的权限设置可避免证书泄露,同时确保Solr能正常读取文件。

3. 分离密钥库与信任库

将同一P12文件同时用作密钥库和信任库可能引发兼容性问题,建议单独创建信任库:

  • 从P12中提取证书链:
    openssl pkcs12 -in /home/debian/ssl/mydomain.p12 -nokeys -out truststore.pem -passin pass:mypassword
    
  • 用keytool创建JKS格式信任库(Solr对JKS兼容性更稳定):
    keytool -importcert -file truststore.pem -keystore mydomain.truststore.jks -storepass mypassword -noprompt
    
  • 更新solr.in.sh中的信任库配置:
    SOLR_SSL_TRUST_STORE=/home/debian/ssl/mydomain.truststore.jks
    SOLR_SSL_TRUST_STORE_PASSWORD=mypassword
    

4. 启用SSL调试日志

添加JVM参数获取详细SSL日志,定位静默失败原因:
在solr.in.sh中追加:

SOLR_OPTS="$SOLR_OPTS -Djavax.net.debug=ssl,handshake"

重启Solr后查看日志(默认路径为/var/log/solr/或Solr安装目录下的logs文件夹),日志会输出完整的SSL握手流程,帮助定位问题点。

5. 检查端口与防火墙

  • 确认HTTPS端口(默认8983)未被占用:
    sudo lsof -i :8983
    
  • 允许防火墙放行该端口:
    sudo ufw allow 8983/tcp
    

6. 验证JDK兼容性

确保Solr使用的JDK版本支持证书的加密算法,老旧JDK可能不支持SHA-256及以上签名算法,需升级JDK或更换兼容算法的证书。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 00:22:46