ssl - SOLR 不以 SSL 开头
问题描述
我在本地系统上设置了 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 它给出了上述异常。
你能帮我设置一下吗?一直在谷歌搜索,但似乎无法找到解决方案。
解决方案
好的,我已经解决了这个问题。好像我的java版本是
“1.8.0个”
. 当我卸载并重新安装新版本时
“1.8.0_171”
, solr 从 https 开始。我也尝试了 java 版本 10,它与 solr 6.6.2 有同样的问题
推荐阅读
- ios - 带有 Timer.scheduledTimer 的 EXC_BAD_ACCESS
- python - 使用 matplotlib 在 qiskit 中可视化电路
- nlp - 在 Dialogflow 中连接实体
- html - 从下拉选择和按钮单击重定向到页面
- python - 如何在异常超时后重试并从字典中删除?
- javascript - 如果值未定义并且在新对象上使用“in”运算符,则 JS 对象解构/重组是不安全的。如何解决这个问题?
- python - 将一个列表的每个索引与同一列表的每个其他索引进行比较的最佳方法
- android - 找不到符号 String token = task.getResult().getToken();
- python - 如何将字符串转换为输入函数中输入的整数?
- sql - 错误:类型间隔的无效输入语法