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

SOLR 9.6.1与Zookeeper 3.8.1启用SSL遇故障求助

故障排查步骤与遗漏配置项检查

一、证书有效性与信任链排查

  • 用keytool命令验证密钥库/信任库的证书完整性:
    keytool -list -v -keystore /path/to/your/keystore.jks
    
    确认根证书、中间证书、服务器证书都存在,且有效期未过期,证书链完整。
  • 检查证书的**CN(通用名称)或SAN(主题备用名称)**是否匹配访问用的主机名/IP:
    • 浏览器访问Solr UI时,证书必须包含你输入的域名/IP;ZK集群间通信的证书必须包含各节点的主机名/IP。
  • 确保Solr和ZK使用的信任库包含彼此的证书:如果是双向认证,ZK的信任库要包含Solr的证书,Solr的信任库也要包含ZK的证书;单向认证则只需客户端信任服务端证书。

二、Zookeeper配置一致性检查

  • 确认3个ZK节点的zoo.cfg中SSL配置完整(除secureClientPort和dataDir外其余一致):
    必须包含以下配置:
    ssl.keyStore.location=/path/to/keystore.jks
    ssl.keyStore.password=your_keystore_pwd
    ssl.trustStore.location=/path/to/truststore.jks
    ssl.trustStore.password=your_truststore_pwd
    ssl.quorum=true  # 开启集群间SSL通信
    ssl.clientAuth=optional  # 根据需求设为required(双向认证)或optional(单向)
    
  • 检查server.*配置是否对应SSL端口:
    例如节点1的配置应为:
    server.1=localhost:2888:3888:participant;2181  # 最后一个端口是secureClientPort
    
    确保集群间通信的端口(2888、3888)正常开放,且myid文件与server.id完全对应,文件权限归ZK进程用户所有。
  • 查看ZK启动日志,确认是否有密钥库加载失败或SSL上下文初始化错误,这通常是路径或密码错误导致。

三、Solr与Zookeeper的SSL适配配置

  • 修改solr.in.sh,添加Solr连接ZK的SSL客户端配置(最容易遗漏的项):
    SOLR_ZK_CLIENT_SSL_KEYSTORE=/path/to/keystore.jks
    SOLR_ZK_CLIENT_SSL_KEYSTORE_PASSWORD=your_pwd
    SOLR_ZK_CLIENT_SSL_TRUSTSTORE=/path/to/truststore.jks
    SOLR_ZK_CLIENT_SSL_TRUSTSTORE_PASSWORD=your_pwd
    SOLR_ZK_CLIENT_SSL_NEED_AUTH=false  # 单向认证设为false,双向设为true
    
  • 确认solr.in.sh中ZK连接串使用的是ZK的secureClientPort:
    ZK_HOST=localhost:2181,localhost:2182,localhost:2183  # 对应3个ZK的SSL端口
    
  • 检查Solr的SSL端口配置:确保SOLR_SSL_ENABLED=true,且浏览器访问使用HTTPS+SSL端口(默认8984,而非原HTTP端口8983)。

四、网络与权限排查

  • 检查Ubuntu防火墙(ufw)是否开放所需端口:
    ufw status
    # 开放端口示例:
    ufw allow 8984/tcp  # Solr SSL端口
    ufw allow 2181/tcp  # ZK节点1 SSL端口
    ufw allow 2182/tcp  # ZK节点2 SSL端口
    ufw allow 2183/tcp  # ZK节点3 SSL端口
    ufw allow 2888/tcp  # ZK集群通信端口
    ufw allow 3888/tcp  # ZK选举端口
    
  • 确保Solr监听0.0.0.0而非仅localhost:修改jetty配置,将连接器的host设为0.0.0.0,否则Windows机器无法远程访问。
  • 检查密钥库/信任库文件权限:确保Solr和ZK进程用户(如solr、zookeeper)有读取权限:
    chown solr:solr /path/to/keystore.jks
    chown zookeeper:zookeeper /path/to/keystore.jks
    

五、浏览器端验证

  • 必须用https://<服务器IP>:<SSL端口>/solr访问,禁止使用HTTP协议。
  • 若浏览器提示证书不受信任,可将根证书导入Windows的「信任根证书颁发机构」;生产环境需确保证书由受信任CA签发。
  • 关闭浏览器代理或确认代理支持HTTPS请求。

常见遗漏配置项总结

  1. Solr连接ZK的SSL客户端参数(SOLR_ZK_CLIENT_SSL_*系列配置)
  2. ZK集群间SSL通信开关ssl.quorum=true
  3. 证书SAN字段未包含所有用到的主机名/IP
  4. Solr监听地址未设为0.0.0.0导致远程访问失败
  5. 防火墙未开放SSL端口

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 05:12:02