前提
- Solr是Sitecore 9的默认搜索引擎
- 需要SSL支持,不能使用http参考:http://sitecore.skowronski.it/sitecore/sitecore-9-set-up-solr-ssl-step-by-step/
步骤
-
第一步:下载安装 Solr 6.2.2(为啥是这个版本,参见:https://www.cnblogs.com/JoeHou/p/9121216.html)
- 下载:http://ftp.ps.pl/pub/apache/lucene/solr/6.6.2/
- 解压缩到 “C:\solr\solr-6.6.2”
-
第二步:注册Solr为Windows服务
- 下载:https://nssm.cc/release/nssm-2.24.zip
- 解压缩到:“C:\solr\nssm-2.24”
- 在“C:\solr\nssm-2.24\win64”目录下打开Powershell,执行:“.\nssm.exe install SolrService”,填入以下参数:
- 打开Windows服务可以看到一个名称为"SolrService”的服务,点击“开始Start”运行
- 在浏览器中输入http://localhost:8080/solr/可以看到Solr的界面
-
第三步:生成SSL证书并导入信任列表
- 下载安装JRE(Java SE Runtime Environment):http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html (选择操作系统相应版本:比如Windows x64),安装至“C:\Program Files\Java\jre1.8.0_171”
- 注意:下面命令行中的"secret"是密码,可以改成自己的密码
- 在“C:\solr\solr-6.6.2\server\etc”目录下打开Powershell并运行:& 'C:\Program Files\Java\jre1.8.0_171\bin\keytool.exe' -genkeypair -alias solr-ssl -keyalg RSA -keysize 2048 -keypass secret -storepass secret -validity 9999 -keystore solr-ssl.keystore.jks -ext SAN=DNS:localhost,IP:127.0.0.1 -dname "CN=localhost, OU=Organizational Unit, O=Organization, L=Location, ST=State, C=Country"
- 再运行:& 'C:\Program Files\Java\jre1.8.0_171\bin\keytool.exe' -importkeystore -srckeystore solr-ssl.keystore.jks -destkeystore solr-ssl.keystore.p12 -srcstoretype jks -deststoretype pkcs12
- 注意:如果问到密码问题,需要输入上面的"secret"或者自己设置的密码
- 下载OpenSSL:https://indy.fulgan.com/SSL/openssl-0.9.8r-x64_86-win64-rev2.zip, 解压缩到:C:\Program Files (x86)\OpenSSL
- 在Powershell中再运行命令:& 'C:\Program Files (x86)\OpenSSL\openssl.exe' pkcs12 -in solr-ssl.keystore.p12 -out solr-ssl.pem
- 在“C:\solr\solr-6.6.2\server\etc”中可以看到一个文件:“solr-ssl.pem”
- 在windows中打开mmc,在文件(File)中点击"Add/Remove Snap-in...",在左边的“Available snap-ins"表中双击“Certificates”,选择“My user account”,即可加入到右边的"selected snap-ins"中,确定(OK)
- 选择“Certificates - Current User”-->"Trusted Root Certification Authorities"-->"Certificates", 右键打开“All tasks”-->"Import",选择刚才的“solr-ssl.pem”文件导入""
-
第四步:完成
- 在“C:\solr\solr-6.6.2\bin”目录中找到“solr.in.cmd”文件,用记事本或其他编辑工具打开,加入以下代码(如果使用自己的密码,需要修改下面的代码):
-
set SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks set SOLR_SSL_KEY_STORE_PASSWORD=secret set SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks set SOLR_SSL_TRUST_STORE_PASSWORD=secret REM Require clients to authenticate set SOLR_SSL_NEED_CLIENT_AUTH=false REM Enable clients to authenticate (but not require) set SOLR_SSL_WANT_CLIENT_AUTH=false
- 重起"SolrService”服务
- 在浏览器中输入https://localhost:8080/solr/可以看到Solr的界面(注意,是https,已经不是http了)
转载于:https://www.cnblogs.com/JoeHou/p/9121298.html