Αντικαταστήστε το 127.0.0.1:8080 με ένα τελικό σημείο της υπηρεσίας σας ή από τη λίστα HTTP proxy και εκτελέστε αυτό προς έναν ακίνδυνο προορισμό HTTPS:

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/

Η διεύθυνση loopback σημαίνει σημείο ακρόασης στον δικό σας υπολογιστή. Η εντολή το επιλέγει ρητά, αδειάζει τη λίστα παράκαμψης του curl για αυτή την κλήση και επιτρέπει πέντε δευτερόλεπτα για τη δημιουργία σύνδεσης και δεκαπέντε συνολικά. Δεν αλλάζει τις ρυθμίσεις proxy του προγράμματος περιήγησης ή του συστήματος.

Χρησιμοποιήστε το πραγματικό εκτελέσιμο curl αν το κέλυφος ορίζει το curl ως ψευδώνυμο άλλου προγράμματος· το curl --version προσδιορίζει την έκδοση κατασκευής. Αν το ίδιο το σημείο ακρόασης απαιτεί TLS, χρησιμοποιήστε το τεκμηριωμένο σχήμα URL του proxy.

Διαβάστε τέσσερα αποτελέσματα, όχι μία ένδειξη επιτυχίας

  1. Σύνδεση με τον επιλεγμένο proxy: η διεύθυνση και η θύρα είναι προσβάσιμες.
  2. Αποδοχή CONNECT: ο proxy άνοιξε σήραγγα προς τον προορισμό HTTPS.
  3. Επαλήθευση πιστοποιητικού προορισμού: το TLS ολοκληρώθηκε με τους αναμενόμενους ελέγχους εμπιστοσύνης.
  4. Λήψη απόκρισης προορισμού: ελέγξτε την κατάσταση και το περιεχόμενό της για το αποτέλεσμα που χρειάζεται η εφαρμογή σας.

Μια λειτουργική σήραγγα μπορεί να ακολουθηθεί από 403 ή 429 του προορισμού. Το curl μπορεί επίσης να τερματιστεί επιτυχώς αφού λάβει απόκριση σφάλματος HTTP, οπότε καταγράψτε τόσο την κατάσταση απόκρισης όσο και το αποτέλεσμα σφάλματος του curl. Μια σύνδεση TCP ή ένα επιτυχές CONNECT δεν αρκεί μόνο του.

Συνοπτικό αποτέλεσμα για επαναλαμβανόμενες συγκρίσεις

Σε κέλυφος τύπου Unix, απορρίψτε το σώμα και εκτυπώστε την κατάσταση σήραγγας, την κατάσταση προορισμού, το άλλο άκρο της σύνδεσης και τον χρόνο που πέρασε:

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --silent --show-error --output /dev/null --write-out 'http=%{http_code} connect=%{http_connect} peer=%{remote_ip} total=%{time_total}\n' https://example.com/

Το http_connect περιγράφει την απόκριση της σήραγγας· το http_code την τελική απόκριση HTTP. Το remote_ip είναι το άλλο άκρο της σύνδεσης του curl, όχι ανεξάρτητη μέτρηση της διεύθυνσης εξόδου του proxy. Σε άλλα συστήματα αντικαταστήστε το /dev/null ή κρατήστε το σώμα της απόκρισης.

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

curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/

Το --noproxy '*' παρακάμπτει τους proxy. Αποτυχία επαλήθευσης πιστοποιητικού και στις δύο διαδρομές υποδεικνύει κοινό πρόβλημα εμπιστοσύνης· επιτυχής απευθείας σύνδεση με απορριφθέν CONNECT υποδεικνύει έλεγχο ταυτότητας ή πολιτική του proxy. Εξετάστε την αναλυτική έξοδο πριν την κοινοποιήσετε, καθώς μπορεί να περιέχει στοιχεία ταυτοποίησης.

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

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