Når Vault leverer ConfigData, kan den første forespørselen skje før en vanlig proxy-tilpasningsbønne finnes. Installer i stedet forespørselsfabrikken gjennom bootstrap-registeret.

For en Spring Framework 6.1-eller-nyere-stack:

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 er den eksisterende SpringApplication. Legg til denne initialiseringen før du kaller run, og behold Vault-URI-en og autentiseringsinnstillingene.

ClientFactoryWrapper eksponerer denne fabrikken for Vaults bootstrap-infrastruktur; den installerer ikke en applikasjonsomfattende standard for ikke-relaterte HTTP-klienter.

Bruk prosjektets kompatible Cloud Vault/Boot-avhengighetssett. Apache 4-eksempler kan ikke kopieres inn i Spring Framework 6s Apache 5-forespørselsfabrikk.

Gjør proxyadressen tilgjengelig før bootstrap også. For en offentlig tilgjengelig Vault-server på en rute som tillater offentlige proxyer, velg en HTTP-kandidat fra HTTP-proxylisten før applikasjonen starter. Hvis den bare lagres i Vault, kan ikke applikasjonen oppdage ruten som trengs for den første Vault-forespørselen.

Relaterte artikler