curl-proxyidőtúllépések: a hibás lépés megkeresése
Válassza külön a proxykapcsolatot, az alagútegyeztetést, a TLS-t és az elakadt választ, hogy a curl időkorlátai segítsék a hibakeresést.
Keresse meg a curl részletes kimenetében az utolsó befejezett műveletet. A „kapcsolódott a proxyhoz, de nincs CONNECT-válasz” sokkal jobban behatárolja a hibát, mint a „proxyidőtúllépés”.
Használjon időkorlátos kérést, és a helyi példát cserélje saját HTTP-proxyjára; a HTTP-proxyk listájából más végpontokat választhat összehasonlításhoz:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/A --connect-timeout 5 egyetlen közös időkeretet ad a kapcsolat létrehozására, beleértve az alkalmazandó kereséseket és kézfogásokat; nem ad minden szakasznak öt másodpercet. A --max-time 15 a teljes műveletet korlátozza, a létrehozás utáni átviteli idővel együtt.
| Hol áll meg a folyamat | Mit vizsgáljon ezután |
|---|---|
| Nincs kapcsolat a proxyval | A proxy névfeloldását, figyelő portját, az útválasztást és a tűzfalszabályokat. |
| Proxy csatlakoztatva; nincs alagútválasz | A proxy terhelését, a hitelesítési egyeztetést, a hozzáférési szabályokat és a cél elérhetőségét a proxyról. |
| Alagút elfogadva; TLS befejezetlen | A cél elérhetőségét, a TLS-egyeztetést és a felügyelt forgalomelfogást. |
| A cél fejlécei megérkeznek; a törzs elakad | Az eredeti kiszolgáló átviteli viselkedését, a közvetítők pufferelését és az alkalmazás esetleges szándékos csendjét. |
A kézfogások sorrendjét bemutatja, hogyan viszi át a CONNECT a HTTPS-t. A kapcsolati időkeret közelében történő leállás a létrehozásra, a későbbi, teljes időkorlátnál történő leállás befejezetlen átvitelre utal. Az időket a lépések sorrendjével együtt értékelje: az idő önmagában nem azonosítja az összetevőt. A naplószövegek curl-változatonként eltérnek, és egy nyitott TCP-port nem bizonyítja a CONNECT működését.
Az egyik oldalt hagyja változatlanul
Hasonlítsa össze ugyanazt a célt egy engedélyezett közvetlen útvonalon:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/Ezután hasonlítson össze egy másik ártalmatlan célt ugyanazon proxyn át. Ha csak egy cél hibázik, annak útvonalát vagy hozzáférési szabályait vizsgálja. Ha mind ugyanabban a létrehozási lépésben áll meg, a közös proxyútvonalat vizsgálja. Mentse a kezdési időt, a végpontot, a célt és az utolsó befejezett szakaszt; megosztás előtt távolítsa el a hitelesítő adatokat, tokeneket, sütiket és magánjellegű neveket a naplókból.
Ha a kapcsolat nyitva marad érdemi haladás nélkül
Fájlátvitelhez a létrehozási és teljes időkorláton felül alacsony sebességi küszöb is kellhet:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 60 --speed-limit 100 --speed-time 20 https://example.com/Ez megszakítja a műveletet, ha a tartós átviteli sebesség 20 másodpercig 100 bájt/másodperc alatt marad, miközben a teljes korlát 60 másodperc. A munkaterheléshez válasszon értékeket. Egy eseményfolyam hosszú csendes időszakokban is megfelelően működhet, így egy letöltési szabály tévesen megszakíthatja.
Az összes korlát növelése elhalasztja a tünetet. Az azonnali ismételt próbák további kapcsolatokat terhelhetnek egy túlterhelt útvonalra. Néhány átgondolt összehasonlítással diagnosztizáljon; az alkalmazás későbbi újrapróbálkozási szabályának saját teljes időkeretre és az ismétlés biztonságosságának mérlegelésére van szüksége.