Instalējiet Spring Cloud Vault starpniekservera rūpnīcu pirms application.run
Izmantojiet bootstrap reģistra āķi ConfigData piekļuvei, kas var notikt pirms parasto lietotnes beanu pastāvēšanas.
Kad Vault piegādā ConfigData, tā pirmais pieprasījums var notikt pirms parasta starpniekservera pielāgotāja beana pastāvēšanas. Tā vietā instalējiet pieprasījumu rūpnīcu caur bootstrap reģistru.
Spring Framework 6.1 vai jaunākam steksam:
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 ir esošais SpringApplication. Pievienojiet šo inicializatoru pirms run izsaukšanas, saglabājot Vault URI un autentifikācijas iestatījumus.
ClientFactoryWrapper pakļauj šo rūpnīcu Vault bootstrap infrastruktūrai; tas neinstalē visai lietotnei vienotu noklusējumu nesaistītiem HTTP klientiem.
Izmantojiet projekta saderīgo Cloud Vault/Boot atkarību kopumu. Apache 4 piemērus nevar kopēt Spring Framework 6 Apache 5 pieprasījumu rūpnīcā.
Padariet starpniekservera adresi pieejamu arī pirms bootstrap. Publiski pieejamam Vault serverim maršrutā, kas atļauj publiskus starpniekserverus, pirms lietotnes palaišanas izvēlieties HTTP kandidātu no HTTP starpniekserveru saraksta. Ja tas tiek glabāts tikai Vault, lietotne nevar atrast maršrutu, kas nepieciešams šim pirmajam Vault pieprasījumam.