Prova un proxy HTTP amb curl
Fes servir una prova de curl amb límits de temps per examinar la connexió al proxy, el túnel HTTPS, l’estat de resposta i les exclusions sense canviar el proxy global del dispositiu.
Substitueix 127.0.0.1:8080 per un punt de connexió del teu servei o de la llista de proxys HTTP i executa això contra una destinació HTTPS inofensiva:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/L’adreça de bucle local indica un punt d’escolta a la teva màquina. L’ordre el selecciona explícitament, buida la llista d’exclusions de curl per a aquesta crida i permet cinc segons per establir la connexió i quinze segons en total. No modifica la configuració de proxy del navegador ni del sistema.
Utilitza l’executable real de curl si l’intèrpret d’ordres defineix curl com a àlies d’un altre programa; curl --version identifica la compilació. Si el punt d’escolta mateix requereix TLS, utilitza l’esquema d’URL de proxy indicat a la documentació.
Llegeix quatre resultats, no un sol senyal d’èxit
- Connexió amb el proxy triat: l’adreça i el port són accessibles.
- CONNECT acceptat: el proxy ha obert un túnel a la destinació HTTPS.
- Certificat de destinació verificat: TLS s’ha completat amb les comprovacions de confiança previstes.
- Resposta de destinació rebuda: revisa’n l’estat i el contingut per obtenir el resultat que necessita l’aplicació.
Un túnel que funciona pot anar seguit d’un 403 o 429 de la destinació. curl també pot acabar correctament després de rebre una resposta d’error HTTP, de manera que cal registrar tant l’estat de resposta com el resultat d’error de curl. Una connexió TCP o un CONNECT reeixit, sols, no són suficients.
Un resultat compacte per repetir comparacions
En un intèrpret d’ordres de tipus Unix, descarta el cos i imprimeix l’estat del túnel, el de la destinació, l’altre extrem de la connexió i el temps transcorregut:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --silent --show-error --output /dev/null --write-out 'http=%{http_code} connect=%{http_connect} peer=%{remote_ip} total=%{time_total}\n' https://example.com/http_connect descriu la resposta del túnel; http_code descriu la resposta HTTP final. remote_ip és l’altre extrem de la connexió de curl, no una mesura independent de l’adreça de sortida del proxy. En altres sistemes, substitueix /dev/null o conserva el cos de la resposta.
Si la prova falla, localitza el pas d’establiment o transferència que ha fallat i compara amb accés directe a la mateixa destinació quan aquesta ruta estigui permesa:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/--noproxy '*' evita els proxys. Si la verificació del certificat falla per totes dues rutes, això apunta a un problema de confiança compartit; si l’accés directe funciona però CONNECT és rebutjat, apunta a l’autenticació o les polítiques del proxy. Revisa la sortida detallada abans de compartir-la, perquè pot contenir informació identificativa.
Desa el punt de connexió, l’objectiu i la marca de temps amb el resultat. Això estableix què ha funcionat per a aquella petició; la disponibilitat futura, la privadesa i el rendiment sota càrrega requereixen proves separades.