ленточный клиент Spring Cloud для подключения к ssl

Я использую Spring Cloud и RestTemplate для подключения к микросервисам с использованием SSL.

Когда я делаю:

restTemplate.exchange("https://myservice/properties", HttpMethod.GET,null, String.class) 

он использует RibbonClientHttpRequestFactory.

Я получил:

javax.net.ssl.SSLPeerUnverifiedException: узел не прошел проверку подлинности на
sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:421) ~[na:1.7.0_72]


person blindstack    schedule 08.06.2015    source источник
comment
нужно определить @FeignClient(myservice) для работы с https, и это работает как шарм   -  person blindstack    schedule 08.06.2015
comment
Я подозреваю, что это просто общая проблема RestTemplate https. Вы гуглили это исключение? Я нашел этот вопрос о переполнении стека   -  person spencergibb    schedule 08.06.2015
comment
да, решается. и теперь я переключаюсь на использование FeignClient. никогда не знал, что FeignClient нужно определять как https с именем службы, если микросервисы используют SSL.   -  person blindstack    schedule 09.06.2015
comment
причина в том, что они используют разные http-клиенты внизу. Тот, который настроен с RestTemplate, более безопасен, поскольку он не принимает ssl, о котором он не знает, тот, который Feign использует по умолчанию, по умолчанию менее безопасен, он игнорирует ошибки безопасности с ssl.   -  person spencergibb    schedule 09.06.2015
comment
способ решения - настроить ленточный клиент isSecure=true и создать собственную фабрику сокетов для принятия сертификата SSL.   -  person blindstack    schedule 03.05.2016