curl proxyaren denbora-mugak: huts egin duen urratsa aurkitzea
Bereizi proxy-konexioa, tunelaren negoziazioa, TLS eta trabatutako erantzuna, curl-en denbora-mugek arazoa aurkitzen lagun dezaten.
Bilatu curl-en irteera xehean amaitutako azken eragiketa. «Proxyarekin konektatuta, baina CONNECT erantzunik ez» esateak «proxyaren denbora agortu da» esateak baino askoz gehiago mugatzen du arazoa.
Erabili denbora mugatutako eskaera bat, eta ordeztu adibide lokala zure HTTP proxyarekin; HTTP proxyen zerrendatik beste amaiera-puntu batzuk aurki ditzakezu alderatzeko:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/--connect-timeout 5 aukerak denbora-aurrekontu partekatu bakarra ematen dio konexioa ezartzeari, dagozkion bilaketak eta esku-emateak barne; ez ditu bost segundo ematen etapa bakoitzerako. --max-time 15 aukerak eragiketa osoa mugatzen du, ezarri ondorengo transferentzia-denbora barne.
| Non gelditzen den aurrerapena | Zer aztertu ondoren |
|---|---|
| Ez dago konexiorik proxyarekin | Proxyaren ostalari-izenaren ebazpena, entzute-ataka, bideratzea eta suebakiaren politika. |
| Proxya konektatuta; tunelaren erantzunik ez | Proxyaren karga, autentifikazioaren negoziazioa, sarbide-politika eta proxytik helmugara iristeko aukera. |
| Tunela onartuta; TLS amaitu gabe | Helmugara iristeko aukera, TLS negoziazioa eta kudeatutako trafiko-atzematea. |
| Helmugaren goiburuak iritsi dira; gorputza gelditu da | Jatorrizko zerbitzariaren transferentzia-portaera, bitartekarien bufferra eta aplikazioa nahita isilik dagoen. |
Esku-emateen ordenari buruz, ikus CONNECT-ek HTTPS nola garraiatzen duen. Konexioaren aurrekontutik gertu gelditzeak ezartze-fasea iradokitzen du; geroago muga orokorrean gelditzeak transferentzia amaitu gabea iradokitzen du. Aztertu sekuentzia eta denbora batera: denborak bakarrik ez du osagaia identifikatzen. Erregistroen testua aldatu egiten da curl-en konpilazioen artean, eta TCP ataka irekita egoteak ez du CONNECT dabilela frogatzen.
Mantendu alde bat aldatu gabe
Alderatu helmuga bera baimendutako zuzeneko bide batetik:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/Ondoren, alderatu beste helmuga kaltegabe bat proxy beretik. Bakar batek huts egiten badu, aztertu haren bidea edo sarbide-politika. Guztiak ezartzeko urrats berean gelditzen badira, aztertu proxyaren bide partekatua. Gorde hasiera-ordua, amaiera-puntua, helmuga eta amaitutako azken etapa; kendu kredentzialak, tokenak, cookieak eta izen pribatuak erregistroak partekatu aurretik.
Konexioa irekita dagoenean aurrerapen erabilgarririk gabe
Fitxategi-transferentziak abiadura txikiko atalase bat behar dezake, ezartzeko eta guztizko denbora-mugez gain:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 60 --speed-limit 100 --speed-time 20 https://example.com/Honek eragiketa eteten du transferentzia-abiadura iraunkorra segundoko 100 byte baino txikiagoa bada 20 segundoz, guztizko muga 60 segundoan mantenduz. Aukeratu balioak lan-kargaren arabera. Gertaera-jario bat ondo egon daiteke isilune luzeetan; deskarga-arau batek oker eten dezake.
Muga guztiak handitzeak sintoma atzeratzen du. Berehalako saiakera errepikatuek konexioak gehi ditzakete gainkargatutako bide batean. Egin diagnostikoa ondo pentsatutako konparazio gutxi batzuekin; aplikazioaren ondorengo berriz saiatzeko politikak guztizko aurrekontu propioa behar du, eta eragiketa errepikatzea segurua den aztertu behar du.