Þegar Vault veitir ConfigData getur fyrsta beiðni þess átt sér stað áður en venjulegur proxy-sérsniðinn bean er til. Setjið beiðnaverksmiðjuna upp í gegnum bootstrap-skrána í staðinn.

Fyrir Spring Framework 6.1 eða nýrri staka:

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 er fyrirliggjandi SpringApplication. Bætið þessum initializer við áður en run er kallað, og haldið Vault URI og stillingum fyrir auðkenningu.

ClientFactoryWrapper gerir þessa verksmiðju aðgengilega fyrir bootstrap-innviði Vault; hún setur ekki upp sjálfgefið gildi fyrir allt appið fyrir ótengda HTTP-viðskiptavini.

Notið samhæft Cloud Vault/Boot-ónæmisheild verkefnisins. Ekki er hægt að afrita Apache 4-dæmi í Apache 5-beiðnaverksmiðju Spring Framework 6.

Gerðu proxy-slóðina aðgengilega líka fyrir bootstrap. Fyrir opinberlega aðgengilegan Vault-þjón á leið sem leyfir opinber proxys, veljið HTTP-frambjóðanda úr HTTP-proxylistanum áður en appið ræsist. Ef það er aðeins geymt í Vault getur appið ekki fundið þá leið sem þarf fyrir þá fyrstu Vault-beiðni.

Tengdir greinar