Repérez la dernière opération achevée dans la sortie détaillée de curl. « Connexion au proxy établie, mais aucune réponse CONNECT » cerne bien mieux le problème que « le proxy a expiré ».

Utilisez une requête limitée dans le temps en remplaçant l’exemple local par votre proxy HTTP ; la liste de proxys HTTP permet de trouver d’autres points de connexion à comparer :

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/

--connect-timeout 5 accorde un budget unique à l’établissement de la connexion, y compris les résolutions et échanges initiaux applicables ; il n’accorde pas cinq secondes à chaque étape. --max-time 15 limite l’ensemble de l’opération, transfert après connexion compris.

Où la progression s’arrêteQue vérifier ensuite
Aucune connexion au proxyRésolution du nom du proxy, port d’écoute, routage et règles du pare-feu.
Proxy connecté ; aucune réponse au tunnelCharge du proxy, négociation de l’authentification, politique d’accès et accessibilité de la destination depuis le proxy.
Tunnel accepté ; TLS inachevéAccessibilité de la destination, négociation TLS et interception administrée.
En-têtes de la destination reçus ; corps bloquéComportement du transfert côté serveur d’origine, mise en tampon intermédiaire et éventuel silence volontaire de l’application.

Pour l’ordre des échanges initiaux, consultez comment CONNECT transporte HTTPS. Un arrêt proche du budget de connexion suggère un problème d’établissement ; un arrêt ultérieur à la limite globale suggère un transfert incomplet. Examinez l’ordre des opérations avec leur durée : le temps seul ne permet pas d’identifier le composant. Les messages varient selon les versions compilées de curl, et un port TCP ouvert ne prouve pas que CONNECT fonctionne.

Garder un côté identique

Comparez la même destination par une route directe autorisée :

curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/

Comparez ensuite une autre destination inoffensive via le même proxy. Si une seule échoue, examinez sa route ou sa politique d’accès. Si toutes s’arrêtent à la même étape d’établissement, examinez le chemin commun passant par le proxy. Conservez l’heure de début, le point de connexion, la destination et la dernière étape achevée ; retirez identifiants, jetons, cookies et noms privés avant de partager les journaux.

Quand la connexion reste ouverte sans progression utile

Un transfert de fichier peut nécessiter un seuil de faible débit en plus des limites de connexion et de durée totale :

curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 60 --speed-limit 100 --speed-time 20 https://example.com/

Cette commande abandonne si le débit reste inférieur à 100 octets par seconde pendant 20 secondes, tout en conservant une limite totale de 60 secondes. Adaptez ces valeurs au travail demandé. Un flux d’événements peut être sain malgré de longues périodes silencieuses ; une règle destinée aux téléchargements risque donc de l’interrompre à tort.

Augmenter toutes les limites ne fait que retarder le symptôme. Des tentatives immédiates et répétées peuvent ajouter des connexions à un chemin déjà surchargé. Diagnostiquez à l’aide de quelques comparaisons réfléchies ; toute politique de nouvelle tentative ultérieure doit avoir son propre budget total et tenir compte de la sûreté d’une répétition de l’opération.

Articles similaires