Spring Cloud Vault'ın proxy fabrikasını application.run'dan önce kurun
Olağan uygulama bean'leri var olmadan önce gerçekleşebilecek ConfigData erişimi için bootstrap kayıt kancasını kullanın.
Vault ConfigData sağladığında, ilk isteği olağan bir proxy özelleştirici bean var olmadan önce gerçekleşebilir. Bunun yerine istek fabrikasını bootstrap kaydı üzerinden kurun.
Spring Framework 6.1 veya daha yeni bir yığın için:
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 mevcut SpringApplication'dir. Bu başlatıcıyı run çağrılmadan önce ekleyin ve Vault URI'sini ve kimlik doğrulama ayarlarını koruyun.
ClientFactoryWrapper bu fabrikayı Vault'un bootstrap altyapısına sunar; ilgisiz HTTP istemcileri için uygulama genelinde bir varsayılan kurmaz.
Projenin uyumlu Cloud Vault/Boot bağımlılık kümesini kullanın. Apache 4 örnekleri Spring Framework 6'nın Apache 5 istek fabrikasına kopyalanamaz.
Proxy adresini bootstrap'tan önce de kullanılabilir hale getirin. Genel proxy'lere izin veren bir rotada herkese açık bir Vault sunucusu için, uygulama başlamadan önce HTTP proxy listesinden listesinden bir HTTP adayı seçin. Yalnızca Vault'ta saklanıyorsa, uygulama o ilk Vault isteği için gereken rotayı keşfedemez.