Pub/Sub Java gRPC kanalını HTTP CONNECT üçün konfiqurasiya edin
GAX kanal təminatçısı vasitəsilə ProxyDetector quraşdırın; Pub/Sub hədəf ünvanı və TLS kimliyi toxunulmaz qalsın.
Pub/Sub Java gRPC bağlantısı HTTP CONNECT proksisinə ehtiyac duyduqda yaradılmış müştərinin kanal təminatçısından istifadə edin. Adi URLConnection ayarı bu kanal konfiqurasiyasını qurmur.
topic-admin müştərisi üçün:
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 və TopicAdminSettings Pub/Sub v1 sinifləridir; HttpConnectProxiedSocketAddress io.grpc-dən, InetSocketAddress isə java.net-dan gəlir. Nümunə bu kanalın istifadə etdiyi adi internet ünvanı hədəfini nəzərdə tutur.
Detektor orijinal hədəflə yanaşı proksi bağlantı ünvanı qaytarır. gRPC qurucusu proksi ünvanının həll edilməsini tələb edir. Xidmətin son nöqtəsini Pub/Sub olaraq buraxın: onu proksi host adı ilə əvəz etmək xidmət hədəfini və nəzərdə tutulan TLS kimliyini itirərdi.
Doğrulanmayan proksi üçün istifadəçi adı/parol çağırışlarını silin; açıq HTTP namizədləri HTTP proksi siyahısından tapıla bilər. Həmin çağırışlar HTTP CONNECT etimad interfeysidir, SOCKS və ya ümumi NTLM tətbiqi deyil.
Uğursuzluq gRPC əməliyyatından əvvəl baş verirsə və müstəqil yaradılmış etimadnamə token alırsa, həmin etimadnamənin HTTP marşrutunu yoxlayın. Bu, burada göstərilən kanal təminatçısından kənardır.