Kasutage loodud kliendi kanalipakkujat, kui Pub/Sub Java gRPC-ühendus vajab HTTP CONNECT-puhverserverit. Tavaline URLConnectioni säte seda kanaliseadistust ei loo.

topic-admin kliendi jaoks:

var channelProvider = TopicAdminSettings
    .defaultGrpcTransportProviderBuilder()
    .setChannelConfigurator(channel -> channel.proxyDetector(target ->
        HttpConnectProxiedSocketAddress.newBuilder()
            .setProxyAddress(new InetSocketAddress("proxy.example", 8080))
            .setTargetAddress((InetSocketAddress) target)
            .setUsername(proxyUser)
            .setPassword(proxyPassword)
            .build()))
    .build();

var settings = TopicAdminSettings.newBuilder()
    .setTransportChannelProvider(channelProvider)
    .build();
try (TopicAdminClient client = TopicAdminClient.create(settings)) {
    // Perform the application's intended topic-admin operation here.
}

TopicAdminClient ja TopicAdminSettings on Pub/Sub v1 klassid; HttpConnectProxiedSocketAddress pärineb io.grpc-st ja InetSocketAddress java.net-st. Näide eeldab selle kanali tavalist internetiaadressi sihti.

Detektor tagastab puhverserveri ühenduse aadressi koos algse sihiga. gRPC-ehitaja nõuab, et puhverserveri aadress oleks lahendatud. Jätke teenuse lõpp-punkt Pub/Subiks: selle asendamine puhverserveri hostinimega kaotaks teenuse sihi ja kavandatud TLS-identiteedi.

Eemaldage autentimata puhverserveri kasutajanime/parooli kutsed; avalikud HTTP-kandidaadid on HTTP-puhverserverite loendist. Need kutsed on HTTP CONNECTi mandaadi liides, mitte SOCKS ega üldine NTLM-teostus.

Kui tõrge tekib enne gRPC-toimingut, samal ajal kui iseseisvalt loodud mandaat saab loa, uurige selle mandaadi HTTP-marsruuti. See jääb siin näidatud kanalipakkujast väljapoole.

Seotud artiklid