Nainstalujte proxy továrnu Spring Cloud Vault před application.run
Použijte hák registru bootstrap pro přístup ke ConfigData, který může nastat dříve, než existují běžné beany aplikace.
Když Vault dodává ConfigData, jeho první požadavek může nastat dříve, než existuje běžný bean pro přizpůsobení proxy. Nainstalujte továrnu požadavků místo toho přes registr bootstrap.
Pro zásobník Spring Framework 6.1 nebo novější:
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 stávající SpringApplication. Přidejte tento inicializátor před voláním run a zachovejte URI Vaultu a nastavení ověřování.
ClientFactoryWrapper vystavuje tuto továrnu bootstrap infrastruktuře Vaultu; neinstaluje výchozí hodnotu pro celou aplikaci u nesouvisejících HTTP klientů.
Použijte kompatibilní sadu závislostí Cloud Vault/Boot projektu. Příklady pro Apache 4 nelze zkopírovat do továrny požadavků Apache 5 v Spring Framework 6.
Zpřístupněte adresu proxy také před bootstrapem. Pro veřejně dostupný server Vault na trase, která povoluje veřejné proxy, vyberte HTTP kandidáta ze seznamu HTTP proxy před spuštěním aplikace. Pokud je uložen pouze ve Vaultu, aplikace nemůže zjistit trasu potřebnou pro tento první požadavek na Vault.