Για μια υπάρχουσα λαβή libcurl, διαχωρίστε ρητά τις λίστες κεφαλίδων προορισμού και διακομιστή μεσολάβησης:

curl_easy_setopt(handle, CURLOPT_HEADEROPT, (long)CURLHEADER_SEPARATE);
curl_easy_setopt(handle, CURLOPT_PROXYHEADER, proxy_headers);
curl_easy_setopt(handle, CURLOPT_HTTPHEADER, origin_headers);

Διατηρήστε τη ρυθμισμένη λαβή και τις έγκυρες λίστες ενεργές για τη μεταφορά. Το CURLHEADER_SEPARATE διακρίνει τις κεφαλίδες που χρησιμοποιούνται στο CONNECT από τις κεφαλίδες που χρησιμοποιούνται για το αίτημα προορισμού. Παλαιότερα παραδείγματα ενοποιημένης πολιτικής μπορούν να τοποθετήσουν τη συνηθισμένη λίστα και στις δύο ανταλλαγές.

Διαδρομή αιτήματοςΣημασία των ξεχωριστών λιστών
HTTPS μέσα σε συνηθισμένη σήραγγα CONNECTΗ ανταλλαγή με τον διακομιστή μεσολάβησης έρχεται πρώτη· έπειτα ακολουθούν οι κεφαλίδες HTTP προορισμού μέσα στο TLS προορισμού.
Απλή προώθηση HTTPΟ διακομιστής μεσολάβησης μπορεί να διαβάσει τις κεφαλίδες προορισμού, και το libcurl μπορεί να χρησιμοποιήσει και τις δύο σχετικές λίστες στο ένα προωθημένο αίτημα.

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

Χρησιμοποιήστε υποστηριζόμενες επιλογές διαπιστευτηρίων για τον έλεγχο ταυτότητας. Για μεταδεδομένα που ορίζει ο χειριστής, καθορίστε ποιο άλμα τα καταναλώνει και αν επιτρέπεται η προώθησή τους αντί να τοποθετείτε κωδικό πρόσβασης σε γενικό πεδίο.

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

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