Installeer Spring Cloud Vault se proxy-fabriek voor application.run
Gebruik die bootstrap-registerhaak vir ConfigData-toegang, wat kan plaasvind voordat gewone toepassingsbone bestaan.
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.