為solr配置Https

weixin_34075551發表於2017-01-12

為solr配置Https

使用keytool生成*.keystore金鑰

keytool -genkeypair -alias solr-ssl -keyalg RSA -keysize 2048 -keypass secret -storepass secret -validity 9999 -keystore solr-ssl.keystore.jks -ext SAN=DNS:localhost,IP:192.168.1.3,IP:127.0.0.1 -dname "CN=localhost, OU=Organizational Unit, O=Organization, L=Location, ST=State, C=Country"

注意裡面的IP,還有後面的一些引數"localhost、Organizational Unit、Organization。。。"
命令執行後,就會產生一個檔案solr-ssl.keystore.jks

轉換金鑰

再次通過keytool工具將 JKS 金鑰庫轉換成使用 keytool PKCS12 格式

keytool -importkeystore -srckeystore solr-ssl.keystore.jks -destkeystore solr-ssl.keystore.p12 -srcstoretype jks -deststoretype pkcs12

注意:以上兩個步驟,會讓你輸入密碼,一個是金鑰庫密碼(自己設定)還有一個源密碼(預設為secret),要記住!
接下來使用 openssl 命令轉換 PKCS12 格式 keystore,包括證書和金鑰:

openssl pkcs12 -in solr-ssl.keystore.p12 -out solr-ssl.pem

密碼為剛剛自己設定的。

配置solr.in.sh

在solr檔案下"solr-5.5.3/bin/solr.in.sh"
找到對應程式碼

#SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
#SOLR_SSL_KEY_STORE_PASSWORD=secret
#SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
#SOLR_SSL_TRUST_STORE_PASSWORD=secret
#SOLR_SSL_NEED_CLIENT_AUTH=false
#SOLR_SSL_WANT_CLIENT_AUTH=false

將註釋放掉,然後STORE和PASSWORD改成對應的即可

以上的做法時可以配置https,,但是這樣並不是安全的,因為https並沒有被網際網路認可!
如果你之前為tomcat成功的配置了Https,可以將tomcat.keystore直接應用過來,這樣最簡單

以上是我根據自己的環境使用Godaddy來配置的,並不一定適應其他環境

相關文章