Configura el canal gRPC de Pub/Sub Java per a HTTP CONNECT
Instal·la un ProxyDetector mitjançant el proveïdor de canal GAX, mantenint l'adreça de destí i la identitat TLS de Pub/Sub.
Utilitza el proveïdor de canal del client generat quan una connexió Pub/Sub Java gRPC necessita un proxy HTTP CONNECT. Una configuració normal d'URLConnection no estableix aquesta configuració de canal.
Per al client 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 i TopicAdminSettings són classes de Pub/Sub v1; HttpConnectProxiedSocketAddress prové de io.grpc i InetSocketAddress de java.net. L'exemple assumeix el destí habitual d'adreça d'internet que utilitza aquest canal.
El detector retorna una adreça de connexió proxy juntament amb el destí original. El constructor gRPC requereix que l'adreça del proxy estigui resolta. Deixa el punt final del servei com a Pub/Sub: substituir-lo pel nom d'amfitrió del proxy perdria el destí del servei i la identitat TLS prevista.
Elimina les crides d'usuari/contrasenya per a un proxy sense autenticació; els candidats HTTP públics es troben a la llista de proxys HTTP. Aquestes crides són la interfície de credencials d'HTTP CONNECT, no SOCKS ni una implementació general de NTLM.
Si el fallo es produeix abans de l'operació gRPC mentre unes credencials creades independentment obtenen un testimoni, inspecciona la ruta HTTP d'aquestes credencials. És fora del proveïdor de canal mostrat aquí.