ໃຊ້ຜູ້ໃຫ້ບໍລິການຊ່ອງຂອງລູກຄ້າທີ່ສ້າງຂຶ້ນ ເມື່ອການເຊື່ອມຕໍ່ 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 ຂອງຂໍ້ມູນຢືນຢັນນັ້ນ. ມັນຢູ່ນອກຜູ້ໃຫ້ບໍລິການຊ່ອງທີ່ສະແດງຢູ່ນີ້.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ