我正在尝试为SOLR 7.4安装自签名SSL证书(在Ubuntu 16.04上)。 我没有按照Lucene website上的说明进行操作。
我做到了:
keytool -genkeypair -alias solr-ssl -keyalg RSA -keysize 2048 -keypass MyPassword -storepass MyPassword -validity 9999 -keystore solr-ssl.keystore.jks -ext SAN=DNS:localhost,IP:51.75.xx.xxx,IP:127.0.0.1 -dname "CN=localhost, OU=xxx, O=xxx, L=xxx, ST=xxx, C=xx"
然后
keytool -importkeystore -srckeystore solr-ssl.keystore.jks -destkeystore solr-ssl.keystore.p12 -srcstoretype jks -deststoretype pkcs12
此命令要求我输入目标密码和源密码。我只是键入了keytool命令中使用的相同密码。 然后我做了:
openssl pkcs12 -in solr-ssl.keystore.p12 -out solr-ssl.pem
此命令问我一个导入密码和一个PEM Pass短语。同样,我只是键入了以前使用的相同密码(甚至是PEM Pass短语)。
在此命令之后显示无错误。
然后在solr.in.sh中:
SOLR_SSL_ENABLED=true
# Uncomment to set SSL-related system properties
# Be sure to update the paths to the correct keystore for your environment
SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
SOLR_SSL_KEY_STORE_PASSWORD=MyPassword
SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
SOLR_SSL_TRUST_STORE_PASSWORD=MyPassword
# Require clients to authenticate
SOLR_SSL_NEED_CLIENT_AUTH=false
# Enable clients to authenticate (but not require)
SOLR_SSL_WANT_CLIENT_AUTH=false
# SSL Certificates contain host/ip "peer name" information that is validated by default. Setting
# this to false can be useful to disable these checks when re-using a certificate on many hosts
SOLR_SSL_CHECK_PEER_NAME=false
# Override Key/Trust Store types if necessary
SOLR_SSL_KEY_STORE_TYPE=JKS
SOLR_SSL_TRUST_STORE_TYPE=JKS
最后我愿意
sudo service solr start
没有错误。如果我检查Solr的状态,它会告诉我它仍在端口8983上运行。
打开https://ipofmyserver:8983,我无法访问SOLR。它告诉我我的连接不安全并且证书无效。
我真的很茫然。如果有人知道我做错了什么,我将不胜感激。谢谢。
PS:知道我已经使用基本身份验证和IPtables作为防火墙,仅让服务器的IP查询SOLR时,使用SSL来保护SOLR是否重要? (如果我不能在这里解决我的问题)