Konfigurácia gRPC kanála Pub/Sub Java pre HTTP CONNECT
Nainštalujte ProxyDetector prostredníctvom poskytovateľa kanála GAX a zachovajte cieľovú adresu aj identitu TLS Pub/Sub.
Použite poskytovateľa kanála generovaného klienta, keď pripojenie Pub/Sub Java gRPC potrebuje proxy HTTP CONNECT. Bežné nastavenie URLConnection túto konfiguráciu kanála nevytvorí.
Pre klienta topic-admin:
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 a TopicAdminSettings sú triedy Pub/Sub v1; HttpConnectProxiedSocketAddress pochádza z io.grpc a InetSocketAddress z java.net. Príklad predpokladá obvyklý cieľ v podobe internetovej adresy, ktorý tento kanál používa.
Detektor vracia adresu proxy pripojenia spolu s pôvodným cieľom. Tvorca gRPC vyžaduje, aby bola adresa proxy preložená. Koncový bod služby ponechajte ako Pub/Sub: nahradenie názvom hostiteľa proxy by stratilo cieľ služby aj zamýšľanú identitu TLS.
Odstráňte volania používateľského mena/hesla pri proxy bez overovania; verejní kandidáti HTTP sú v zozname HTTP proxy. Tieto volania sú rozhraním prihlasovacích údajov HTTP CONNECT, nie SOCKS ani všeobecná implementácia NTLM.
Ak zlyhanie nastane pred operáciou gRPC, zatiaľ čo samostatne vytvorené prihlasovacie údaje získajú token, preskúmajte HTTP trasu týchto údajov. Je mimo tu uvedeného poskytovateľa kanála.