Etter CONNECT-forespørselslinjen tilhører disse bytene fortsatt proxyen:

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

Videresending av Host eller User-Agent til port 443 gir destinasjonen klartekst-headere der den forventer TLS. Den feilen kan oppstå før noe valg av chiffre har betydning.

  1. Les og parse frem til header-terminatoren med den tomme linjen, innenfor en oppsettfrist og en grense for headerstørrelse.
  2. Bruk proxyautentisering og destinasjonspolicy.
  3. Etabler den godkjente tilkoblingen til målet.
  4. Send det vellykkede CONNECT-svaret og gå i tunnellmodus.

Behold bufrede byter etter grensen for den riktige neste tilstanden. Ikke kast dem, og ikke behandle proxyens forespørselsheadere som nettstedets senere forespørsel.

Klienten har en tilsvarende plikt på svarsiden: fullfør lesingen av det vellykkede CONNECT-svaret før den tunnelerte protokollen starter. Begge ender må bli enige om grensen der strømmen skifter rolle.

Relaterte artikler