Кога Vault доставува ConfigData, неговото прво барање може да се случи пред да постои обичен bean за прилагодување на прокси. Наместо тоа, инсталирајте ја фабриката за барања преку bootstrap регистарот.

За Spring Framework 6.1 или понов стек:

import java.net.InetSocketAddress;
import java.net.ProxySelector;
import java.net.http.HttpClient;
import org.springframework.http.client.JdkClientHttpRequestFactory;
import org.springframework.vault.config.AbstractVaultConfiguration
    .ClientFactoryWrapper;

var http = HttpClient.newBuilder()
    .proxy(ProxySelector.of(
        new InetSocketAddress("proxy.example.net", 8080)))
    .build();

application.addBootstrapRegistryInitializer(registry ->
    registry.register(ClientFactoryWrapper.class, context ->
        new ClientFactoryWrapper(
            new JdkClientHttpRequestFactory(http))));

application е постоечкиот SpringApplication. Додајте го овој иницијализатор пред да го повикате run, задржувајќи го URI-то на Vault и поставките за автентикација.

ClientFactoryWrapper ја изложува оваа фабрика на bootstrap инфраструктурата на Vault; не инсталира апликациско стандардно за неповрзани HTTP клиенти.

Користете го компатибилниот сет зависности Cloud Vault/Boot на проектот. Примерите за Apache 4 не можат да се копираат во фабриката за барања Apache 5 на Spring Framework 6.

Направете ја адресата на проксито достапна и пред bootstrap. За јавно достапен Vault сервер на рута што дозволува јавни прокси, изберете HTTP кандидат од списокот на HTTP прокси пред апликацијата да стартува. Ако се чува само во Vault, апликацијата не може да ја открие рутата потребна за тоа прво барање до Vault.

Поврзани статии