2013-04-09 10 views
5

Po uaktualnieniu do Solr 4.2.1, wdrażania pliku WAR Solr do wersji 3.1.1 GlassFish wyniki w następujący błąd:Solr 4.2.1 SSLinitializationException

2013-04-09 10:45:06,144 [main] ERROR org.apache.solr.servlet.SolrDispatchFilter - Could not start Solr. Check solr/home property and the logs 
    2013-04-09 10:45:06,224 [main] ERROR org.apache.solr.core.SolrCore - null:org.apache.http.conn.ssl.SSLInitializationException: Failure initializing default system SSL context 
    at org.apache.http.conn.ssl.SSLSocketFactory.createSystemSSLContext(SSLSocketFactory.java:368) 
    at org.apache.http.conn.ssl.SSLSocketFactory.getSystemSocketFactory(SSLSocketFactory.java:204) 
    at org.apache.http.impl.conn.SchemeRegistryFactory.createSystemDefault(SchemeRegistryFactory.java:82) 
    at org.apache.http.impl.client.SystemDefaultHttpClient.createClientConnectionManager(SystemDefaultHttpClient.java:118) 
    at org.apache.http.impl.client.AbstractHttpClient.getConnectionManager(AbstractHttpClient.java:466) 
    at org.apache.solr.client.solrj.impl.HttpClientUtil.setMaxConnections(HttpClientUtil.java:179) 
Caused by: java.io.IOException: Keystore was tampered with, or password was incorrect 
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:772) 
    at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55) 
    at java.security.KeyStore.load(KeyStore.java:1214) 
    at org.apache.http.conn.ssl.SSLSocketFactory.createSystemSSLContext(SSLSocketFactory.java:281) 
    at org.apache.http.conn.ssl.SSLSocketFactory.createSystemSSLContext(SSLSocketFactory.java:366)  
    ... 50 more 
Caused by: java.security.UnrecoverableKeyException: Password verification failed 
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:770) 
    ... 54 more 

Wydaje się, że ludzie mieli ten problem podczas korzystania z Solr w wersji 4.2 i poprawka 4.2.1 miała to naprawić (?). Wszelkie wskazówki będą bardzo mile widziane.

Odpowiedz

9

Miałem te same problemy kilka dni temu. Rozwiązano go, obniżając do wersji Solr 4.1.0. Ale istnieje rozwiązanie (znalazłem to po ponownym uruchomieniu moich osobiście znanych haseł wyszukiwania). Wystarczy dodać dwie opcje JVM. Zacznij GlassFish z:

asadmin start-domain 

i wpisać:

asadmin create-jvm-options -- -Djavax.net.ssl.keyStorePassword=changeit 
asadmin create-jvm-options -- -Djavax.net.ssl.trustStorePassword=changeit 

Nie zapomnij zrestartować GlassFish:

asadmin restart-domain 

Próbowaliśmy go do siebie i działa jak czar. Oczywiście działa to tylko wtedy, gdy nigdy wcześniej nie zmieniłeś tych haseł.

+1

Nie trzeba obniżać wersji Solr. Ta sama sztuczka działa również w Solr 4.2.1. –

+0

Zdegradowałem, ponieważ chciałem mieć najnowszą działającą wersję. 4.1.0 nie potrzebował tych wpisów, bez nich działa idealnie dobrze. – Campfire

+0

Znalazłem, że jeśli Solr jest wdrożony na GF na komputerze nr 1 i próbujesz uzyskać do niego dostęp za pomocą GF na komputerze nr 2, wyżej wymienione opcje JVM powinny zostać dodane na komputerze nr 2. Z powodzeniem korzystałem z tego rozwiązania zarówno w konfiguracji Solr 4.0.0, jak i wersji 4.4.0. –