Kun Vault toimittaa ConfigDataa, sen ensimmäinen pyyntö voi tapahtua ennen kuin tavallinen välityspalvelimen mukautusbean on olemassa. Asenna pyyntötehdas sen sijaan bootstrap-rekisterin kautta.

Spring Framework 6.1 tai uudemmalle pinolle:

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 on olemassa oleva SpringApplication. Lisää tämä alustaja ennen run-kutsua ja säilytä Vaultin URI ja todennusasetukset.

ClientFactoryWrapper tarjoaa tämän tehtaan Vaultin bootstrap-infrastruktuurille; se ei asenna sovelluslaajuista oletusta toisiinsa liittymättömille HTTP-asiakkaille.

Käytä projektin yhteensopivaa Cloud Vault/Boot-riippuvuusjoukkoa. Apache 4 -esimerkkejä ei voi kopioida Spring Framework 6:n Apache 5 -pyyntötehtaaseen.

Aseta välityspalvelimen osoite saataville myös ennen bootstrapia. Julkisesti saatavilla olevalle Vault-palvelimelle reitillä, joka sallii julkiset välityspalvelimet, valitse HTTP-ehdokas HTTP-välityspalvelinluettelosta-luettelosta ennen sovelluksen käynnistymistä. Jos se on tallennettu vain Vaultiin, sovellus ei voi löytää reittiä, jota kyseinen ensimmäinen Vault-pyyntö tarvitsee.

Aiheeseen liittyvät artikkelit