Hi i was trying to use solrj to query in https protocol but i am getting ssl exection error. here are the code same i tried import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.HttpSolrServer; import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.SolrDocumentList; import java.net.MalformedURLException; public class SolrJSearcher { public static void main(String[] args) throws MalformedURLException, SolrServerException { HttpSolrServer solr = new HttpSolrServer("`https://abc:8080/solr`"); SolrQuery query = new SolrQuery(); query.setQuery("sony digital camera"); query.addFilterQuery("cat:electronics","store:amazon.com"); query.setFields("id","price","merchant","cat","store"); query.setStart(0); query.set("defType", "edismax"); QueryResponse response = solr.query(query); SolrDocumentList results = response.getResults(); for (int i = 0; i < results.size(); ++i) { System.out.println(results.get(i)); } } } and i got following expection Exception in thread "main" javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException : 할 수 없음 com.sun.net.ssl.internal.ssl.Alerts에서 요청 대상 에 유효한 인증 경로를 찾을 수 있습니다. getSSLException (Alerts.java:174) com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal (SSLSocketImpl.java:1762) 에서 com.sun.net.ssl.internal.ssl.Handshaker.fatalSE (Handshaker.java : 241) com.sun.net.ssl.internal.ssl.Handshaker.fatalSE (Handshaker.java:235) 에서 com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate (ClientHandshaker. java : 1206) at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage (ClientHandshaker.java:136) com.sun.net.ssl.internal.ssl.Handshaker.processLoop (Handshaker.java:593) at com.sun.net.ssl.internal.ssl.Handshaker.process_record (Handshaker.java:529) com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord (SSLSocketImpl.java:958)에서 닷컴에서 . sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake (SSLSocketImpl.java:1203) com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake (SSLSocketImpl.java:1230)에서 이 com.sun에서 . net.ssl.internal.ssl.SSLSocketImpl.startHandshake (SSLSocketImpl.java:1214) at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket (SSLSocketFactory.java:571) at org.apache.http.conn. ssl.SSLSocketF org.apache.http.conn.ssl.SSLSocketFactory.connectSocket (SSLSocketFactory.java:494)에서 org.apache.http.conn.scheme.SchemeSocketFactoryAdaptor.connectSocket (SchemeSocketFactoryAdaptor.)에서 actory.connectSocket (SSLSocketFactory.java:402) 자바 : org.apache.http.impl.conn.AbstractPoolEntry.open (AbstractPoolEntry.java:144) 에서 org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection (DefaultClientConnectionOperator.java:179) 65)에 org.apache.http.impl.conn.AbstractPooledConnAdapter.open (AbstractPooledConnAdapter.java:131) at org.apache.http.impl.client.DefaultRequestDirector.tryConnect (DefaultRequestDirector.java:609) at org.apache.http. impl.client.DefaultRequestDirector.execute (DefaultRequestDirector.java:444) org.apache.http.impl.client.AbstractHttpClient.doExecute (AbstractHttpClient.java:864) at org.apache.http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:82) at org.apache.http .impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:106) org.apache.http.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:57) at solrcheck.SolrJSearcher.main (SolrJSearcher.java:87)) 발생 원인 : sun.security.validator.ValidatorException : PKIX 경로 구축 실패 : sun.security.provider.certpath.SunCertPathBuilderException : 요청 대상에 대한 유효한 인증 경로를 찾지 못함 at sun.security.validator.PKIXValidator.doBuild (PKIXValidator.java:323) at sun.security. validator.PKIXValidator.engineValidate (PKIXValidator.java:217)at sun.security.validator.Validator.validate (Validator.java:218) com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate (X509TrustManagerImpl. java : 126) at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted (X509TrustManagerImpl.java:209) at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted (X509TrustManagerImpl.java : 249) com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate (ClientHandshaker.java:1185) ... 21 더 많은 에 의해 발생 : sun.security.provider.certpath.SunCertPathBuilderException : 수 없습니다 찾기 sun.security.provider에서 요청한 대상 에 대한 유효한 인증 경로.certpath.SunCertPathBuilder.engineBuild (SunCertPathBuilder.java:174) java.security.cert.CertPathBuilder.build (CertPathBuilder.java:238)에서 sun.security.validator.PKIXValidator.doBuild (PKIXValidator.java:318) 에서 . ... 27 개Solrj 쿼리 HTTPS 프로토콜 오류에
any working example will be great help. thanks .
0
A
답변
1
HttpSolrServer http://hc.apache.org/httpclient-3.x/sslguide.html
SolrServer solrServer = new HttpSolrServer(url, httpclient);
에 설명 된대로, 당신이하는 SSL HttpClient를 제공해야 할 수 있습니다 HttpClient를를 사용하는 일부 관련 주제
관련 문제
- 1. solrj 오류 실행 쿼리
- 2. Solrj 쿼리 한도
- 3. 프로토콜 "HTTPS"
- 4. Solrj (1.4.1) 성능 관련 쿼리
- 5. Solrj 쿼리 두 날짜 예외
- 6. Solrj 쿼리 동적 필드 Solrj (SOLR 3.6)에서
- 7. 유튜브 API HTTPS 프로토콜
- 8. HTTP 및 HTTPS 프로토콜
- 9. HTTPS 프로토콜 블록 JS
- 10. Jenkins SVN (https 프로토콜 사용)
- 11. https 프로토콜 용 http 어댑터
- 12. wsdl에서 링크 https 프로토콜 설정
- 13. 불일치 프로토콜 http 및 https
- 14. solrj 쿼리 결과가 매우 이상한 오류
- 15. 정의되지 않은 필드 * solrj geolocation 쿼리
- 16. solrj : 공백이있는 단어 검색
- 17. solrj 오류 :
- 18. SolrJ 패키지
- 19. 잘못된 식별자 오류에 참여 쿼리
- 20. SolrJ 잘못된 내용 유형
- 21. 컬 오류 1 : 지원되지 않는 프로토콜 : HTTPS
- 22. QWebView, https 프로토콜 웹 페이지에 액세스하는 방법?
- 23. 방문 페이지의 프로토콜 http/https 얻기
- 24. 특정 필드에서 solrj 검색
- 25. ActiveUp.Pop3Client -ERR 프로토콜 오류에 대한 결과를 인증합니다. 14
- 26. solrj 다시로드 요청
- 27. SolrJ 스레드 안전
- 28. OSGi 컨테이너에서 Solrj 사용
- 29. Solrj dependency OSGI 번들
- 30. @NotNull 유형 주석 - Solrj