Test ein HTTP-proxy med curl
Bruk ein tidsavgrensa curl-test til å undersøkje proxytilkopling, HTTPS-tunnel, svarstatus og unntaksreglar utan å endre den globale proxyen på eininga.
Byt ut 127.0.0.1:8080 med eit endepunkt frå tenesta di eller lista over HTTP-proxyar, og køyr dette mot ein ufarleg HTTPS-destinasjon:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Loopback-adressa viser til eit lyttepunkt på di eiga maskin. Kommandoen vel det uttrykkjeleg, tømmer unntakslista til curl for dette kallet og tillèt fem sekund til å opprette sambandet og femten sekund i alt. Proxyinnstillingane til nettlesaren og systemet blir ikkje endra.
Bruk den faktiske curl-programfila dersom skalet ditt gjer curl til eit alias for eit anna program; curl --version identifiserer byggversjonen. Krev sjølve lyttepunktet TLS, bruker du proxy-URL-skjemaet som står i dokumentasjonen.
Les fire resultat, ikkje berre eitt grønt lys
- Kopla til vald proxy: adressa og porten er tilgjengelege.
- CONNECT godteke: proxyen opna ein tunnel til HTTPS-destinasjonen.
- Sertifikatet til destinasjonen verifisert: TLS vart fullført med dei venta tillitskontrollane.
- Svar frå destinasjonen motteke: undersøk status og innhald for å sjå om resultatet fyller behova til applikasjonen.
Ein fungerande tunnel kan følgjast av 403 eller 429 frå destinasjonen. curl kan òg avslutte vellukka etter eit HTTP-feilsvar. Registrer difor både svarstatus og feilresultatet frå curl. Eit TCP-samband eller vellukka CONNECT er ikkje tilstrekkeleg åleine.
Eit kompakt resultat for gjentekne samanlikningar
I eit Unix-liknande skal kan du forkaste svarinnhaldet og skrive ut tunnelstatus, destinasjonsstatus, motparten og medgått tid:
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 skildrar tunnelsvaret; http_code skildrar det endelege HTTP-svaret. remote_ip er motparten i curl-sambandet, ikkje ei uavhengig måling av utgangsadressa til proxyen. Byt ut /dev/null på andre system, eller hald på svarinnhaldet.
Om testen mislukkast, finn steget for oppkopling eller overføring som feila, og samanlikn med direkte tilgang til same destinasjon der den ruta er tillaten:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/--noproxy '*' går utanom proxyar. Feil ved sertifikatkontroll på begge ruter peikar mot eit felles tillitsproblem; direkte samband som lukkast medan CONNECT blir avvist, peikar mot proxyautentisering eller reglar. Sjå gjennom detaljert utdata før du deler dei, sidan dei kan innehalde identifiserande opplysningar.
Lagre endepunkt, mål og tidsstempel saman med utfallet. Dette dokumenterer kva som fungerte for den førespurnaden; framtidig tilgjenge, personvern og yting under last krev eigne prov.