Χρησιμοποιήστε τον πάροχο καναλιού του παραγόμενου πελάτη όταν μια σύνδεση 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 proxy. Αυτές οι κλήσεις είναι η διεπαφή διαπιστευτηρίων HTTP CONNECT, όχι SOCKS ή μια γενική υλοποίηση NTLM.

Αν η αποτυχία συμβεί πριν από τη λειτουργία gRPC ενώ διαπιστευτήρια που δημιουργήθηκαν ανεξάρτητα λαμβάνουν διακριτικό, εξετάστε τη διαδρομή HTTP αυτών των διαπιστευτηρίων. Βρίσκεται εκτός του παρόχου καναλιού που φαίνεται εδώ.

Σχετικά άρθρα