Zamijenite 127.0.0.1:8080 krajnjom točkom svoje usluge ili adresom s popisa HTTP proxyja i pokrenite ovo prema bezopasnom HTTPS odredištu:

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

Loopback adresa označava sučelje koje sluša na vašem računalu. Naredba ga izričito odabire, prazni curlov popis iznimaka za ovaj poziv i dopušta pet sekundi za uspostavu veze te petnaest sekundi ukupno. Postavke proxyja preglednika i sustava ostaju nepromijenjene.

Upotrijebite stvarnu izvršnu datoteku curla ako ljuska postavlja curl kao alias za drugi program; curl --version identificira međuverziju. Ako samo sučelje zahtijeva TLS, koristite shemu URL-a proxyja navedenu u njegovoj dokumentaciji.

Čitajte četiri rezultata, a ne jedan znak uspjeha

  1. Veza s odabranim proxyjem: adresa i port su dostupni.
  2. CONNECT prihvaćen: proxy je otvorio tunel do HTTPS odredišta.
  3. Certifikat odredišta provjeren: TLS je dovršen uz očekivane provjere povjerenja.
  4. Odgovor odredišta primljen: provjerite status i sadržaj prema rezultatu koji je potreban aplikaciji.

Nakon ispravnog tunela odredište može vratiti 403 ili 429. curl može uspješno završiti i nakon HTTP odgovora s pogreškom, pa zabilježite i status odgovora i curlov rezultat pogreške. Sama TCP veza ili uspješan CONNECT nisu dovoljni.

Sažet rezultat za ponovljene usporedbe

U ljusci nalik Unixu odbacite tijelo odgovora i ispišite status tunela, status odredišta, drugu stranu veze i proteklo vrijeme:

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 opisuje odgovor tunela; http_code opisuje završni HTTP odgovor. remote_ip je druga strana curlove veze, a ne neovisno mjerenje izlazne adrese proxyja. Na drugim sustavima zamijenite /dev/null ili zadržite tijelo odgovora.

Ako test ne uspije, pronađite neuspješan korak uspostave veze ili prijenosa i usporedite isto odredište izravno ondje gdje je taj put dopušten:

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

--noproxy '*' zaobilazi proxyje. Neuspješna provjera certifikata na oba puta upućuje na zajednički problem povjerenja; uspješan izravni pristup uz odbijeni CONNECT upućuje na autentifikaciju ili pravila proxyja. Pregledajte detaljan izlaz prije dijeljenja jer može sadržavati identifikacijske podatke.

Spremite krajnju točku, cilj i vremensku oznaku uz ishod. Time utvrđujete što je radilo za taj zahtjev; buduća dostupnost, privatnost i performanse pod opterećenjem zahtijevaju zasebne dokaze.

Povezani članci