HTTP CONNECT కోసం Pub/Sub Java యొక్క gRPC ఛానెల్ను కాన్ఫిగర్ చేయండి
GAX ఛానెల్ ప్రొవైడర్ ద్వారా ProxyDetector ఇన్స్టాల్ చేయండి, Pub/Sub యొక్క లక్ష్య చిరునామా మరియు TLS గుర్తింపును యథాతథంగా ఉంచండి.
Pub/Sub Java gRPC కనెక్షన్కు HTTP CONNECT ప్రాక్సీ అవసరమైనప్పుడు జనరేట్ చేసిన క్లయింట్ ఛానెల్ ప్రొవైడర్ను ఉపయోగించండి. సాధారణ URLConnection సెట్టింగ్ ఈ ఛానెల్ కాన్ఫిగరేషన్ను ఏర్పాటు చేయదు.
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 మరియు TopicAdminSettings Pub/Sub v1 తరగతులు; HttpConnectProxiedSocketAddress io.grpc నుండి మరియు InetSocketAddress java.net నుండి వస్తాయి. ఉదాహరణ ఈ ఛానెల్ ఉపయోగించే సాధారణ ఇంటర్నెట్-చిరునామా లక్ష్యాన్ని ఊహిస్తుంది.
డిటెక్టర్ అసలు లక్ష్యంతో పాటు ప్రాక్సీ కనెక్షన్ చిరునామాను తిరిగి ఇస్తుంది. gRPC బిల్డర్ ప్రాక్సీ చిరునామా పరిష్కరించబడాలని కోరుతుంది. సేవా ఎండ్పాయింట్ను Pub/Sub గానే ఉంచండి: ప్రాక్సీ హోస్ట్నేమ్తో భర్తీ చేస్తే సేవా లక్ష్యం మరియు ఉద్దేశించిన TLS గుర్తింపు కోల్పోతాయి.
ప్రామాణీకరణ లేని ప్రాక్సీ కోసం వినియోగదారు పేరు/పాస్వర్డ్ కాల్లను తొలగించండి; పబ్లిక్ HTTP అభ్యర్థులు HTTP ప్రాక్సీల జాబితాలో ఉన్నాయి. ఆ కాల్లు HTTP CONNECT క్రెడెన్షియల్ ఇంటర్ఫేస్, SOCKS లేదా సాధారణ NTLM అమలు కాదు.
gRPC ఆపరేషన్కు ముందు వైఫల్యం సంభవించి, స్వతంత్రంగా సృష్టించిన క్రెడెన్షియల్ టోకెన్ పొందుతుంటే, ఆ క్రెడెన్షియల్ HTTP మార్గాన్ని పరిశీలించండి. అది ఇక్కడ చూపిన ఛానెల్ ప్రొవైడర్కు వెలుపల ఉంది.