Երբ Vault-ը տրամադրում է ConfigData, նրա առաջին հարցումը կարող է տեղի ունենալ նախքան սովորական պրոքսի-հարմարեցնող bean-ի գոյությունը։ Փոխարենը տեղադրեք հարցումների գործարանը bootstrap գրանցամատյանի միջոցով։

Spring Framework 6.1 կամ ավելի նոր ստեկի համար՝

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-ը գոյություն ունեցող SpringApplication-ն է։ Ավելացրեք այս սկզբնավորիչը run-ը կանչելուց առաջ՝ պահպանելով Vault URI-ն և նույնականացման կարգավորումները։

ClientFactoryWrapper-ը բացահայտում է այս գործարանը Vault-ի bootstrap ենթակառուցվածքին. այն չի տեղադրում հավելվածային լայնությամբ լռելյայն անկապ HTTP հաճախորդների համար։

Օգտագործեք նախագծի համատեղելի Cloud Vault/Boot կախվածությունների հավաքածուն։ Apache 4-ի օրինակները չեն կարող պատճենվել Spring Framework 6-ի Apache 5 հարցումների գործարանում։

Պրոքսիի հասցեն հասանելի դարձրեք նաև bootstrap-ից առաջ։ Հանրային հասանելի Vault սերվերի համար, որը գտնվում է հանրային պրոքսիներ թույլատրող երթուղու վրա, հավելվածի մեկնարկից առաջ ընտրեք HTTP թեկնածու HTTP պրոքսիների ցանկից-ից։ Եթե այն պահվում է միայն Vault-ում, հավելվածը չի կարող գտնել այդ առաջին Vault հարցման համար անհրաժեշտ երթուղին։

Առնչվող հոդվածներ