Wanneer Vault ConfigData lewer, kan die eerste versoek plaasvind voordat 'n gewone proxy-aanpasser-bone bestaan. Installeer eerder die versoekfabriek deur die bootstrap-register.

Vir 'n Spring Framework 6.1-of-later-stapel:

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 is die bestaande SpringApplication. Voeg hierdie initialiseerder by voordat run geroep word, en behou die Vault-URI en die verifikasie-instellings.

ClientFactoryWrapper stel hierdie fabriek aan Vault se bootstrap-infrastruktuur bloot; dit installeer nie 'n toepassingwye verstek vir onverwante HTTP-kliënte nie.

Gebruik die projek se versoenbare Cloud Vault/Boot-afhanklikheidstel. Apache 4-voorbeelde kan nie in Spring Framework 6 se Apache 5-versoekfabriek gekopieer word nie.

Maak die proxy-adres ook voor bootstrap beskikbaar. Vir 'n publiek bereikbare Vault-bediener op 'n roete wat publieke proxy's toelaat, kies 'n HTTP-kandidaat uit die HTTP-proxylys voordat die toepassing begin. As dit slegs in Vault gestoor word, kan die toepassing nie die roete ontdek wat vir daardie eerste Vault-versoek nodig is nie.

Verwante artikels