Αν το curl προσπαθεί να συνδεθεί στο localhost ανεξάρτητα από τη διεύθυνση URL που του δώσατε, το VPN είναι το λάθος σημείο για να ξεκινήσετε. Ένας τοπικός διακομιστής μεσολάβησης HTTP ή SOCKS μπορεί να είναι η σκόπιμη πρώτη σύνδεση, ακόμη και όταν η υπηρεσία που θέλετε βρίσκεται κάπου εντελώς αλλού. Αν αυτός ο διακομιστής μεσολάβησης δεν εκτελείται πλέον, η απόπειρα προς το localhost αποτυγχάνει πριν φτάσει ποτέ το curl στον προορισμό. Επίσης, μια απάντηση του διακομιστή μεσολάβησης δεν αποδεικνύει ότι απάντησε ο προορισμός.

Εκτελέστε αυτά τα βήματα με τη σειρά και σταματήστε στο πρώτο που αλλάζει την πρώτη απόπειρα σύνδεσης.

Διαβάστε πρώτα τους κανόνες του ίδιου του curl για τον διακομιστή μεσολάβησης

Το curl διαβάζει μεταβλητές διακομιστή μεσολάβησης ειδικές για το πρωτόκολλο, όπως https_proxy και HTTPS_PROXY, καθώς και ALL_PROXY, όταν δεν ισχύει καμία τιμή ειδική για το πρωτόκολλο. Ελέγξτε το περιβάλλον του κελύφους, της υπηρεσίας ή της εργασίας που εκκινεί πραγματικά το curl, όχι αυτό του τρέχοντος τερματικού σας. Μια εργασία CI, μια μονάδα systemd και ένα διαδραστικό κέλυφος μπορούν να κληρονομήσουν τρία διαφορετικά σύνολα. Το να μαντεύετε από το ορατό κέλυφος είναι ο τρόπος με τον οποίο αυτή η έρευνα χάνει ένα ολόκληρο απόγευμα.

Μια εξαίρεση αξίζει να τη θυμάστε. Το curl δέχεται το http_proxy μόνο με πεζά γράμματα· το κεφαλαίο HTTP_PROXY αγνοείται, γι' αυτό το ίδιο περιβάλλον συμπεριφέρεται διαφορετικά σε άλλα εργαλεία.

Διαβάστε τις τιμές ιδιωτικά, γιατί μια διεύθυνση URL διακομιστή μεσολάβησης συχνά φέρει διαπιστευτήρια.

Στη συνέχεια ελέγξτε το προεπιλεγμένο αρχείο ρυθμίσεων του curl για παρακάμψεις διακομιστή μεσολάβησης ή σύνδεσης και επιβεβαιώστε ποιο εκτελέσιμο αρχείο εκτελείτε πραγματικά. Ένα ψευδώνυμο κελύφους, μια συνάρτηση ή ένα σενάριο περιτυλίγματος μπορεί να προσθέσει επιλογές που δεν εμφανίζονται ποτέ στη γραμμή εντολών σας.

Συγκρίνετε τρεις κλήσεις με το TLS ενεργό

Χρησιμοποιήστε έναν εγκεκριμένο διαγνωστικό προορισμό και το ίδιο δυαδικό αρχείο και για τις τρεις εκτελέσεις.

curl -v https://service.corp.example/status
curl -q -v https://service.corp.example/status
curl -q --proxy '' -v https://service.corp.example/status

-q καταστέλλει το προεπιλεγμένο curlrc και πρέπει να είναι η πρώτη παράμετρος στη γραμμή για να λειτουργήσει. Δεν αφαιρεί τις μεταβλητές περιβάλλοντος του διακομιστή μεσολάβησης, κάτι που εκπλήσσει όσους το περιμένουν. Η τρίτη μορφή προσθέτει μια κενή τιμή --proxy, παρακάμπτοντας έναν διακομιστή μεσολάβησης που ζήτησε το περιβάλλον μόνο για αυτή την κλήση. Συγκρίνετε την πρώτη απόπειρα σύνδεσης σε κάθε έξοδο, όχι τον τελικό κωδικό κατάστασης.

Η λεπτομερής έξοδος μπορεί να αποκαλύψει κεφαλίδες, διακριτικά και διαπιστευτήρια διακομιστή μεσολάβησης, γι' αυτό κρατήστε την τοπικά και διαβάστε αποσπάσματα πριν την κοινοποιήσετε.

Τι αποκλείει κάθε αποτέλεσμα

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

Η φόρτωση προσαρμοσμένων βιβλιοθηκών ή η έγχυση συμπεριφοράς δικτύου είναι μεταγενέστερο επίπεδο και μια μεταβλητή περιβάλλοντος από μόνη της δεν αποτελεί απόδειξη γι' αυτό.

Κρατήστε την απόφαση για τον διακομιστή μεσολάβησης χωριστά από το VPN

Μόλις το curl επιλέξει έναν άμεσο προορισμό, το λειτουργικό σύστημα εξακολουθεί να δρομολογεί αυτή τη σύνδεση. Η απενεργοποίηση του διακομιστή μεσολάβησης μιας εφαρμογής δεν απενεργοποιεί τη διαδρομή του VPN ή την πολιτική φιλτραρίσματός του. Κάντε συγκρίσεις άμεσης πρόσβασης μόνο όπου αυτή η διαγνωστική είναι εξουσιοδοτημένη. Ένα τεστ που παρακάμπτει σιωπηλά την πολιτική δεν είναι έγκυρο αποτέλεσμα, είναι συμβάν.

Αν απαιτείται τοπικός διακομιστής μεσολάβησης, επαναφέρετε την υπηρεσία και τη διεύθυνσή του αντί να διαγράψετε τις ρυθμίσεις του.

Αν μόνο επιλεγμένοι ιδιωτικοί προορισμοί χρειάζονται άμεση πρόσβαση, προσθέστε μια στενή εγκεκριμένη εξαίρεση και κρατήστε τον διακομιστή μεσολάβησης για όλα τα άλλα. Διατηρήστε το πρώτο σφάλμα από τη διαδρομή που επιλέξατε, γιατί μια άρνηση localhost, μια απόρριψη CONNECT του διακομιστή μεσολάβησης, μια αποτυχία πιστοποιητικού και ένα σφάλμα εξουσιοδότησης υποδεικνύουν τέσσερα διαφορετικά στάδια.

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