След реда на CONNECT заявката тези байтове все още принадлежат на проксито:

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 отговор и влезте в режим на тунел.

Запазете буферираните байтове след границата за подходящото следващо състояние. Не ги изхвърляйте и не третирайте заглавията на прокси заявката като следваща заявка на сайта.

Клиентът има съответно задължение от страната на отговора: завършете четенето на успешния CONNECT отговор преди стартиране на тунелния протокол. Двете страни трябва да се съгласят за границата, където потокът сменя ролите си.

Подобни статии