Časové limity CONNECT přes proxy po úspěšném TCP připojení
Určete časový limit, který platí během CONNECT, místo abyste předpokládali, že dokončené TCP připojení dokončilo i nastavení tunelu.
Časový limit TCP připojení splnil svůj úkol ve chvíli, kdy se klient připojil k proxy. Další čekání—příjem úplné odpovědi CONNECT—může řídit jiný časovač.
Proxy se možná stále připojuje k nadřazenému serveru, vyměňuje autentizační zprávy nebo čeká na jinou službu. Běžná odpověď webu ještě nezačala.
| Poslední dokončený krok | Na co se ještě čeká? |
|---|---|
| TCP připojeno k proxy | Handshake s proxy, včetně přijetí CONNECT |
| CONNECT přijat | TLS cíle, pokud ho cíl používá |
| Požadavek na cíl odeslán | Odpověď cíle |
Najděte časovač, který je aktivní, dokud konektor čte a zapisuje tento handshake. Vlastnost nazvaná “response timeout” může začít platit až po navázání trasy. U HttpClient 5 rozlišujte ConnectionConfig a jeho časový limit soketu, konfiguraci TLS handshake a časový limit odpovědi na úrovni požadavku. Příslušnou konfiguraci připojení aplikujte prostřednictvím správce, který používá skutečný klient. Starší generace Apache HttpClient používají jiná API, takže starší úryvek není spolehlivou mapou těchto odpovědností.
Konečné odmítnutí CONNECT berte jako odpověď proxy. Úspěšná odpověď následovaná zaseknutím TLS je jiná fáze selhání. „TCP připojeno; žádná úplná odpověď CONNECT před termínem nastavení“ popisuje problém přesněji než obecný časový limit proxy.
Celkový krajní termín může omezit čekání volajícího vedle těchto fázových limitů. Když vyprší, zrušte nebo zavřete operaci prostřednictvím životního cyklu podporovaného klientem, než další pokus spotřebuje kapacitu připojení.