Pub/Sub Java gRPC kanāla konfigurēšana HTTP CONNECT
Instalējiet ProxyDetector ar GAX kanāla nodrošinātāju, saglabājot Pub/Sub mērķa adresi un TLS identitāti.
Izmantojiet ģenerētā klienta kanāla nodrošinātāju, kad Pub/Sub Java gRPC savienojumam nepieciešams HTTP CONNECT starpniekserveris. Parasts URLConnection iestatījums šo kanāla konfigurāciju neizveido.
topic-admin klientam:
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 un TopicAdminSettings ir Pub/Sub v1 klases; HttpConnectProxiedSocketAddress nāk no io.grpc, bet InetSocketAddress no java.net. Piemērā pieņemts parastais šī kanāla izmantotais interneta adreses mērķis.
Detektors atgriež starpniekservera savienojuma adresi kopā ar sākotnējo mērķi. gRPC veidotājs prasa, lai starpniekservera adrese būtu atrisināta. Atstājiet pakalpojuma galapunktu kā Pub/Sub: aizstājot to ar starpniekservera resursdatora nosaukumu, tiktu zaudēts pakalpojuma mērķis un paredzētā TLS identitāte.
Noņemiet lietotājvārda/paroles izsaukumus neautentificētam starpniekserverim; publiskus HTTP kandidātus var atrast HTTP starpniekserveru sarakstā. Šie izsaukumi ir HTTP CONNECT akreditācijas datu saskarne, nevis SOCKS vai vispārīga NTLM ieviešana.
Ja kļūme rodas pirms gRPC darbības, kamēr neatkarīgi izveidoti akreditācijas dati iegūst marķieri, pārbaudiet šo akreditācijas datu HTTP maršrutu. Tas ir ārpus šeit parādītā kanāla nodrošinātāja.