Μια σύνδεση με broker του Artemis που πετυχαίνει με λάθος κωδικό SOCKS μπορεί να έχει παρακάμψει τον χειριστή proxy. Ελέγξτε τον προορισμό του broker, όχι μόνο το socksHost.

Η τεκμηρίωση του transport περιγράφει διευθύνσεις broker loopback όπως localhost και 127.0.0.1 ως διευθύνσεις που παρακάμπτουν τη διαμόρφωση SOCKS. Για την κανονική διαδρομή τοπικής επίλυσης, χρησιμοποιήστε τη σκοπούμενη διεύθυνση broker που δεν είναι loopback όταν η σύνδεση πρέπει να περάσει από τον ενδιάμεσο. Ένα άλλο alias που εξακολουθεί να επιλύεται σε loopback μπορεί να έχει το ίδιο αποτέλεσμα.

Ελέγξτε την ακριβή συνθήκη της έκδοσης του connector

Νεότερος πηγαίος κώδικας connector upstream περιλαμβάνει ρητή εξαίρεση remote-DNS. Η συνθήκη του χειριστή proxy είναι:

socksEnabled && (socksRemoteDNS || !isTargetLocalHost())

Όταν το socksRemoteDNS είναι ενεργό σε υλοποίηση που περιέχει αυτή τη συνθήκη, ο connector διατηρεί τον προορισμό χωρίς επίλυση και εγκαθιστά τον χειριστή SOCKS ακόμη και για προορισμό που μοιάζει με loopback. Με την τεκμηριωμένη προεπιλογή false, η δοκιμή τοπικής διεύθυνσης εξακολουθεί να έχει σημασία.

Αυτό αλλάζει τη σημασία ενός hostname όπως localhost: όταν περνά σε διακομιστή SOCKS για επίλυση, αναφέρεται στην οπτική του proxy για τον προορισμό. Επιβεβαιώστε ότι αυτή είναι η σκοπούμενη θέση του broker πριν επιλέξετε απομακρυσμένη επίλυση.

Ταιριάξτε τη συμπεριφορά με τον εγκατεστημένο client Artemis. Μόλις ο χειριστής είναι πραγματικά στη διαδρομή, διακρίνετε τον έλεγχο ταυτότητας SOCKS από τον έλεγχο ταυτότητας broker και επαληθεύστε την προκύπτουσα διαδρομή σύνδεσης αντί να θεωρείτε μια επιτυχημένη συνεδρία broker απόδειξη ότι χρησιμοποιήθηκαν διαπιστευτήρια proxy.

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