Tempos de espera do proxy en curl: atopar o paso que falla
Separa a conexión ao proxy, a negociación do túnel, TLS e unha resposta detida para diagnosticar cos límites de tempo de curl.
Atopa a última operación completada na saída detallada de curl. «Conectado ao proxy, pero sen resposta CONNECT» delimita moito máis o problema que «esgotouse o tempo do proxy».
Usa unha petición con límites de tempo e substitúe o exemplo local polo teu proxy HTTP; a lista de proxys HTTP ofrece outros puntos finais para comparar:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/--connect-timeout 5 dá un único orzamento compartido ao establecemento da conexión, incluídas as consultas e negociacións pertinentes; non dá cinco segundos a cada etapa. --max-time 15 limita toda a operación, incluído o tempo de transferencia posterior ao establecemento.
| Onde se detén o avance | Que investigar despois |
|---|---|
| Non hai conexión ao proxy | Resolución do nome do proxy, porto de escoita, encamiñamento e regras da devasa. |
| Proxy conectado; sen resposta do túnel | Carga do proxy, negociación da autenticación, política de acceso e accesibilidade do destino desde o proxy. |
| Túnel aceptado; TLS incompleto | Accesibilidade do destino, negociación TLS e interceptación administrada. |
| Chegan as cabeceiras do destino; o corpo detense | Comportamento de transferencia do servidor de orixe, almacenamento intermedio e posible silencio intencionado da aplicación. |
Para a orde das negociacións, consulta como transporta CONNECT o tráfico HTTPS. Unha parada preto do orzamento de conexión apunta ao establecemento; unha parada posterior no límite global apunta a unha transferencia incompleta. Combina secuencia e tempo: o tempo só non identifica o compoñente. As mensaxes varían entre compilacións de curl e un porto TCP aberto non demostra que CONNECT funcione.
Mantén un lado fixo
Compara o mesmo destino por unha ruta directa permitida:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/Despois compara outro destino inocuo polo mesmo proxy. Se só falla un, investiga a súa ruta ou política de acceso. Se todos paran no mesmo paso de establecemento, investiga o camiño común do proxy. Garda a hora de inicio, o punto final, o destino e a última fase completada; elimina credenciais, tokens, cookies e nomes privados antes de compartir rexistros.
Cando a conexión segue aberta sen avance útil
Unha transferencia de ficheiros pode necesitar un limiar de baixa velocidade ademais dos límites de establecemento e duración 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/Isto cancela a operación se a velocidade sostida permanece por baixo de 100 bytes por segundo durante 20 segundos, mantendo un máximo total de 60 segundos. Escolle valores segundo a carga. Un fluxo de eventos pode funcionar ben durante longos silencios, polo que unha regra de descarga pode interrompelo por erro.
Aumentar todos os límites adía o síntoma. Os reintentos inmediatos e repetidos poden engadir conexións a un camiño sobrecargado. Diagnostica cunhas poucas comparacións meditadas; calquera política posterior de reintentos da aplicación necesita un orzamento total propio e considerar se é seguro repetir a operación.