Temps d’espera del servidor intermediari a curl: trobeu el pas que falla
Distingiu la connexió al servidor intermediari, la negociació del túnel, TLS i una resposta aturada per diagnosticar amb els límits de curl.
Trobeu l’última operació completada a la sortida detallada de curl. «Connectat al servidor intermediari, però sense resposta CONNECT» delimita molt més el problema que «s’ha esgotat el temps del servidor intermediari».
Feu servir una petició amb límits de temps i substituïu l’exemple local pel vostre servidor intermediari HTTP; la llista de proxys HTTP ofereix altres punts finals per comparar:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/--connect-timeout 5 dona un pressupost compartit a l’establiment de la connexió, incloses les consultes i negociacions pertinents; no dona cinc segons a cada etapa. --max-time 15 limita tota l’operació, inclòs el temps de transferència posterior a l’establiment.
| On s’atura el progrés | Què cal investigar després |
|---|---|
| No hi ha connexió al servidor intermediari | Resolució del nom del servidor intermediari, port d’escolta, encaminament i regles del tallafoc. |
| Servidor intermediari connectat; sense resposta del túnel | Càrrega del servidor intermediari, negociació de l’autenticació, política d’accés i accessibilitat de la destinació des del servidor intermediari. |
| Túnel acceptat; TLS incomplet | Accessibilitat de la destinació, negociació TLS i intercepció administrada. |
| Arriben les capçaleres de destinació; el cos s’atura | Comportament de transferència del servidor d’origen, memòria intermèdia dels intermediaris i possible silenci intencionat de l’aplicació. |
Per a l’ordre de negociació, vegeu com transporta CONNECT el trànsit HTTPS. Una aturada prop del pressupost de connexió apunta a l’establiment; una aturada posterior al límit global apunta a una transferència incompleta. Combineu seqüència i temps: el temps sol no identifica el component. Els missatges varien entre compilacions de curl, i un port TCP obert no demostra que CONNECT funcioni.
Manteniu una banda fixa
Compareu la mateixa destinació per una ruta directa permesa:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/Després compareu una altra destinació inofensiva pel mateix servidor intermediari. Si només en falla una, investigueu-ne la ruta o la política d’accés. Si totes s’aturen al mateix pas d’establiment, investigueu el camí comú del servidor intermediari. Deseu l’hora d’inici, el punt final, la destinació i l’última fase completada; elimineu credencials, testimonis, galetes i noms privats abans de compartir els registres.
Quan la connexió continua oberta sense progrés útil
Una transferència de fitxers pot necessitar un llindar de velocitat baixa a més dels límits d’establiment i de temps total:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 60 --speed-limit 100 --speed-time 20 https://example.com/Això avorta l’operació si la velocitat sostinguda es manté sota 100 bytes per segon durant 20 segons, conservant un màxim total de 60 segons. Trieu valors segons la càrrega. Un flux d’esdeveniments pot funcionar bé durant silencis llargs, de manera que una regla de baixada el pot interrompre erròniament.
Augmentar tots els límits ajorna el símptoma. Els reintents immediats i repetits poden afegir connexions a un camí sobrecarregat. Diagnostiqueu amb unes quantes comparacions deliberades; qualsevol política posterior de reintents de l’aplicació necessita un pressupost total propi i considerar si repetir l’operació és segur.