Ko Vault zagotavlja ConfigData, se njegova prva zahteva lahko zgodi preden obstaja običajen bean za prilagajanje proxyja. Namesto tega namestite tovarno zahtev prek registra bootstrap.

Za sklad Spring Framework 6.1 ali novejši:

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 je obstoječi SpringApplication. Dodajte ta inicializator preden pokličete run, pri čemer ohranite URI Vaulta in nastavitve preverjanja pristnosti.

ClientFactoryWrapper izpostavi to tovarno bootstrap infrastrukturi Vaulta; ne namesti privzete vrednosti za celotno aplikacijo pri nepovezanih odjemalcih HTTP.

Uporabite združljiv nabor odvisnosti Cloud Vault/Boot projekta. Primerov za Apache 4 ni mogoče kopirati v tovarno zahtev Apache 5 v Spring Framework 6.

Omogočite naslov proxyja tudi pred bootstrapom. Za javno dostopen strežnik Vault na poti, ki dovoljuje javne proxyje, izberite kandidata HTTP iz seznama proxyjev HTTP pred zagonom aplikacije. Če je shranjen le v Vaultu, aplikacija ne more odkriti poti, potrebne za to prvo zahtevo do Vaulta.

Sorodni članki