Μετά τη γραμμή αιτήματος CONNECT, αυτά τα byte ανήκουν ακόμη στον μεσολαβητή:

CONNECT service.example:443 HTTP/1.1\r\n
Host: service.example:443\r\n
User-Agent: example-client\r\n
\r\n

Η προώθηση των Host ή User-Agent στη θύρα 443 δίνει στον προορισμό κεφαλίδες απλού κειμένου εκεί όπου περιμένει TLS. Αυτή η αποτυχία μπορεί να συμβεί πριν η επιλογή κρυπτογράφησης αποκτήσει σημασία.

  1. Διαβάστε και αναλύστε μέχρι τον τερματιστή κεφαλίδων με κενή γραμμή, εντός προθεσμίας ρύθμισης και ορίου μεγέθους κεφαλίδων.
  2. Εφαρμόστε τον έλεγχο ταυτότητας του μεσολαβητή και την πολιτική προορισμού.
  3. Δημιουργήστε την εγκεκριμένη σύνδεση με τον στόχο.
  4. Στείλτε την επιτυχή απάντηση CONNECT και περάστε σε λειτουργία τούνελ.

Διατηρήστε τα αποθηκευμένα byte μετά το όριο για την κατάλληλη επόμενη κατάσταση. Μην τα απορρίψετε και μην αντιμετωπίσετε τις κεφαλίδες αιτήματος του μεσολαβητή ως μεταγενέστερη αίτηση του ιστότοπου.

Ο πελάτης έχει αντίστοιχη υποχρέωση στην πλευρά της απάντησης: ολοκληρώστε την ανάγνωση της επιτυχούς απάντησης CONNECT πριν ξεκινήσει το πρωτόκολλο τούνελ. Και οι δύο πλευρές πρέπει να συμφωνήσουν για το όριο όπου η ροή αλλάζει ρόλο.

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