Я настроил свой клиент и сервис eureka для использования SSL с самозаверяющими сертификатами. Создал хранилища ключей и импортировал сертификаты из клиента в хранилище ключей сервера и наоборот. Однако теперь, когда я пытаюсь использовать restTemplate
@Bean
RestTemplate restTemplate;
, который использовался для разрешения моего сервиса http://my -service / convert / без каких-либо проблем с использованием базовой инфраструктуры, он больше не может это делать? HTTP-ответ - 302 с безопасным: / HTTPOnly
Я попытался настроить restTemplate немного больше вручную как таковой
@Bean
@LoadBalanced
public RestTemplate restTemplate() throws Exception {
SSLContext sslContext = new SSLContextBuilder()
.create()
.loadKeyMaterial(ResourceUtils.getFile("classpath:client.jks"), allPassword.toCharArray(), allPassword.toCharArray())
.loadTrustMaterial(ResourceUtils.getFile("classpath:client.jks"), allPassword.toCharArray())
.build();
HttpClient client = HttpClients.custom()
.setSSLContext(sslContext)
.build();
HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(client);
return new RestTemplate(factory);
}
и пока restTemplate работает нормально, теперь кажется, что он не знает о my-service из инфраструктуры Eureka?
Caused by: java.net.UnknownHostException: my-service
Кто-нибудь настраивал клиент / службу eureka для SSL, а также restTemplate с балансировкой нагрузки, который может использовать службу отдыха из клиентской jvm?
Я использовал статью с сайта отличного паренька
https://www.baeldung.com/spring-boot-https-self-signed-certificate
однако, по-видимому, он не применяется к restTemplate, предоставляемым инфраструктурой eureka.
Спасибо,
Марк.