2

我在本地系统上设置了 solr。它在没有 ssl 的情况下工作正常,但是对于 SSL solr 会给出异常:

java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.jetty.start.Main.invokeMain(Main.java:214)
        at org.eclipse.jetty.start.Main.start(Main.java:457)
        at org.eclipse.jetty.start.Main.main(Main.java:75)
Caused by: java.io.IOException: Invalid keystore format

我使用命令生成了 p12 和 jks:

“C:\Program Files\Java\jdk-10.0.1\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\jdk-10.0.1\bin\keytool.exe” -importkeystore -srckeystore solr-ssl.keystore.jks -destkeystore solr-ssl.keystore.p12 -srcstoretype jks -deststoretype pkcs12

保密作为所有短语的密码。将 jks 和 p12 文件复制到 solr-6.6.2/server/etc 文件夹。更新了 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

SET SOLR_SSL_NEED_CLIENT_AUTH=false
SET SOLR_SSL_WANT_CLIENT_AUTH=false

SET SOLR_SSL_KEY_STORE_TYPE=JKS
SET SOLR_SSL_TRUST_STORE_TYPE=JKS

当我尝试运行时: solr -p 8984 它给出了上述异常。

你能帮我设置一下吗?一直在谷歌搜索,但似乎无法找到解决方案。

4

1 回答 1

0

好的,我已经解决了这个问题。好像我的java版本是

“1.8.0个”

. 当我卸载并重新安装新版本时

“1.8.0_171”

, solr 从 https 开始。我也尝试了 java 版本 10,它与 solr 6.6.2 有同样的问题

于 2018-06-23T11:17:40.633 回答