Puhverserveri CONNECT-ajalimitide möödumine pärast edukat TCP-ühendust
Tuvastage CONNECT-i ajal kehtiv ajalimit, selle asemel et eeldada, et lõpetatud TCP-ühendus on lõpetanud ka tunneliseadistuse.
TCP-ühenduse ajalimit on oma töö teinud niipea, kui klient puhverserveriga ühendub. Järgmine ootus—täieliku CONNECT-vastuse saamine—võib alluda teisele taimerile.
Puhverserver võib veel ülesvoolu ühenduda, autentimissõnumeid vahetada või mõnda teist teenust oodata. Veebisaidi tavaline vastus ei ole veel alanud.
| Viimane lõpetatud samm | Mida veel oodatakse? |
|---|---|
| TCP ühendatud puhverserveriga | Puhverserveri kätlus, sealhulgas CONNECT-i vastuvõtt |
| CONNECT vastu võetud | Sihtkoha TLS, kui sihtkoht seda kasutab |
| Sihtkoha päring saadetud | Sihtkoha vastus |
Leidke taimer, mis on aktiivne, kui ühendaja seda kätlust loeb ja kirjutab. Atribuut nimega “response timeout” võib jõustuda alles pärast marsruudi loomist. HttpClient 5 puhul eristage ConnectionConfig ja selle sokli ajalimit, TLS-kätluse konfiguratsiooni ning päringutasandi vastuse ajalimit. Rakendage asjakohast ühenduse konfiguratsiooni halduri kaudu, mida tegelik klient kasutab. Vanemad Apache HttpClienti põlvkonnad kasutavad teisi API-sid, seega vanem koodilõik ei ole nende vastutuste usaldusväärne kaart.
Hoidke lõplik CONNECT-i tagasilükkamine puhverserveri vastusena. Edukale vastusele järgnev TLS-i seiskumine on teine tõrkeetapp. „TCP ühendatud; seadistustähtaja eel puudub täielik CONNECT-vastus“ kirjeldab probleemi täpsemalt kui üldine puhverserveri ajalimit.
Üldine tähtaeg saab piirata kutsuja ootust nende faasipiirangute kõrval. Kui see lõpeb, tühistage või sulgege toiming kliendi toetatud elutsükli kaudu, enne kui uus katse ühenduse mahtu kulutab.