Настройки прокси в Spring Boot

#spring #spring-boot

#spring #spring-загрузка

Вопрос:

Моему приложению необходимо извлечь XML-файл из Интернета следующим образом:

 @Bean
public HTTPMetadataProvider metadataProvider()
        throws MetadataProviderException {
    String metadataURL = "http://idp.ssocircle.com/idp-meta.xml";
    final Timer backgroundTaskTimer = new Timer(true);
    HTTPMetadataProvider provider = 
            new HTTPMetadataProvider(backgroundTaskTimer, httpClient(), metadataURL);
    provider.setParserPool(parserPool());
    return provider;
}
  

Я работаю с использованием отфильтрованной сети, поэтому приложение не может получить этот файл.

Есть способ настроить HTTP прокси (например myproxy.eu:8080 ) в Spring Boot?


В качестве альтернативы я мог бы получить XML-файл с помощью протокола HTTPS, но я должен правильно настроить поставщика метаданных, чтобы поддерживать зашифрованное соединение… Как?

Ответ №1:

Это не то, что вы можете настроить в spring boot, HttpClient не использует переменные java.

Для этого вам необходимо настроить прокси на HttpClient вручную:

 HostConfiguration hostConfig = new HostConfiguration();
hostConfig.setProxyHost(new ProxyHost("your.proxy.host", 8080));
httpClient.setHostConfiguration(hostConfig);
  

Комментарии:

1. куда в приложении spring-boot переходит этот фрагмент кода?

2. Есть ли варианты настройки свойств прокси через application.yml в Spring Boot?