Konfigurimi i kanalit gRPC të Pub/Sub Java për HTTP CONNECT
Instaloni një ProxyDetector përmes ofruesit të kanalit GAX, duke ruajtur adresën e synuar dhe identitetin TLS të Pub/Sub.
Përdorni ofruesin e kanalit të klientit të gjeneruar kur një lidhje Pub/Sub Java gRPC ka nevojë për një proxy HTTP CONNECT. Një konfigurim i zakonshëm URLConnection nuk e vendos këtë konfigurim kanali.
Për klientin 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 dhe TopicAdminSettings janë klasa të Pub/Sub v1; HttpConnectProxiedSocketAddress vjen nga io.grpc dhe InetSocketAddress nga java.net. Shembulli supozon destinacionin e zakonshëm të adresës së internetit që përdor ky kanal.
Zbuluesi kthen një adresë lidhjeje proxy bashkë me destinacionin origjinal. Ndërtuesi gRPC kërkon që adresa e proxy-t të zgjidhet. Lëreni pikën fundore të shërbimit si Pub/Sub: zëvendësimi me emrin e hostit të proxy-t do të humbiste destinacionin e shërbimit dhe identitetin e synuar TLS.
Hiqni thirrjet e emrit të përdoruesit/fjalëkalimit për një proxy pa autentikim; kandidatët publikë HTTP gjenden në listën e proxy-ve HTTP. Këto thirrje janë ndërfaqja e kredencialeve HTTP CONNECT, jo SOCKS ose një implementim i përgjithshëm NTLM.
Nëse dështimi ndodh para operacionit gRPC ndërsa një kredencial i krijuar në mënyrë të pavarur merr një token, inspektoni rrugën HTTP të atij kredenciali. Ajo është jashtë ofruesit të kanalit të treguar këtu.