Fejezze be a CONNECT fejlécek elemzését, mielőtt továbbítja az ügyfél adatfolyamát
Egy proxykiszolgáló, amely csak a kérés sora után továbbít, a saját Host fejlécét küldheti a cél TLS-portjára.
A CONNECT kérés sora után ezek a bájtok még a proxyhoz tartoznak:
CONNECT service.example:443 HTTP/1.1\r\n
Host: service.example:443\r\n
User-Agent: example-client\r\n
\r\nA Host vagy User-Agent továbbítása a 443-as portra egyszerű szöveges fejléceket ad a célnak ott, ahol TLS-t vár. Ez a hiba még azelőtt bekövetkezhet, hogy a titkosításválasztás egyáltalán számítana.
- Olvassa és elemezze a fejléceket az üres soros lezárásig, beállítási határidőn és fejlécméret-korláton belül.
- Alkalmazza a proxyhitelesítést és a cél szabályzatát.
- Hozza létre a jóváhagyott célkapcsolatot.
- Küldje el a sikeres CONNECT választ, és lépjen alagút módba.
Őrizze meg a határ utáni pufferelt bájtokat a megfelelő következő állapot számára. Ne dobja el őket, és ne kezelje a proxy kérésfejléceit a webhely későbbi kéréseként.
Az ügyfélnek a válaszoldalon is megvan a megfelelő kötelezettsége: fejezze be a sikeres CONNECT válasz olvasását, mielőtt elindítja az alagútprotokollt. Mindkét félnek meg kell állapodnia abban a határban, ahol az adatfolyam szerepet vált.