我需要在Master / Slave Solr 6.6.2环境中使用SSL。这是Windows上的Solr,因为治理要求所有服务器都是Windows。
我在Master上创建了一个localhost SSL Cert(在Master上工作,因为它是本地的),但这对于具有基于主服务器IP的复制的Slave不起作用。然后我将其更改为使用机器名称的自签名证书,该证书似乎更适合访问该站点。
但是,使用SSL / HTTPS时无法使复制正常工作。它会抛出IO通信错误,因为它无法解析与主服务器上的localhost证书的https连接。错误如下:
掌握:https://mastercomputername:8983/solr/core_index不是 可用。索引提取因异常而失败: org.apache.solr.common.SolrException:谈话时发生IOException 到服务器:https://mastercomputername:8983/solr/core_index
Solr中是否有设置我需要启用以允许通过HTTPS进行复制?我已经从Slave服务器上的主服务器安装了名为cert的机器,并将Solr.in设置为接受SSL,如下所示:
REM Uncomment to set SSL-related system properties
REM Be sure to update the paths to the correct keystore for your environment
set SOLR_SSL_KEY_STORE=D:\Solr\solr-6.6.2\server\etc\solr-ssl.keystore.pfx
set SOLR_SSL_KEY_STORE_PASSWORD=secret
REM set SOLR_SSL_KEY_STORE_TYPE=JKS
set SOLR_SSL_TRUST_STORE=D:\Solr\solr-6.6.2\server\etc\solr-ssl.keystore.pfx
set SOLR_SSL_TRUST_STORE_PASSWORD=secret
REM set SOLR_SSL_TRUST_STORE_TYPE=JKS
REM set SOLR_SSL_NEED_CLIENT_AUTH=false
REM set SOLR_SSL_WANT_CLIENT_AUTH=false
我认为Solr没有收听443 ......或者因为它是一个自签名证书,Java拒绝它。