CONNECT изчаквания на прокси след успешно TCP свързване
Открийте изчакването, което действа по време на CONNECT, вместо да приемате, че завършеното TCP свързване е приключило и настройването на тунела.
Изчакването за TCP свързване е свършило работата си, щом клиентът се свърже с проксито. Следващото чакане—получаването на пълен отговор CONNECT—може да се управлява от друг таймер.
Проксито може все още да се свързва нагоре, да обменя съобщения за удостоверяване или да чака друга услуга. Обичайният отговор на сайта още не е започнал.
| Последна завършена стъпка | Какво още се чака? |
|---|---|
| TCP се свърза с проксито | Ръкостискането на проксито, включително приемането на CONNECT |
| CONNECT е приет | TLS на дестинацията, когато целта го използва |
| Заявката към дестинацията е изпратена | Отговорът на дестинацията |
Намерете таймера, който е активен, докато конекторът чете и пише това ръкостискане. Свойство, наречено “response timeout”, може да влезе в сила едва след установяване на маршрута. При HttpClient 5 различавайте ConnectionConfig и неговото изчакване на сокета, конфигурацията за TLS ръкостискане и изчакването за отговор на ниво заявка. Прилагайте съответната конфигурация на връзката чрез мениджъра, който използва действителният клиент. Старите поколения на Apache HttpClient използват различни API, така че по-стар фрагмент не е надеждна карта на тези отговорности.
Запазете окончателното отхвърляне на CONNECT като отговор от проксито. Успешен отговор, последван от застой в TLS, е друг етап на отказ. „TCP е свързан; няма пълен отговор CONNECT преди крайния срок за настройка“ описва проблема по-точно от общо изчакване на проксито.
Общ краен срок може да ограничи чакането на извикващия заедно с тези фазови лимити. Когато той изтече, отменете или затворете операцията чрез поддържания от клиента жизнен цикъл, преди нов опит да изразходва капацитет за връзки.