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 маршрутун текшериңиз. Ал бул жерде көрсөтүлгөн канал провайдеринен тышкары.

Тектеш макалалар