Korvaa 127.0.0.1:8080 palvelusi päätepisteellä tai osoitteella HTTP-välityspalvelinten luettelosta ja suorita tämä harmittomaan HTTPS-kohteeseen:

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

Loopback-osoite tarkoittaa oman koneesi kuuntelijaa. Komento valitsee sen nimenomaisesti, tyhjentää curlin ohitusluettelon tätä kutsua varten ja sallii viisi sekuntia yhteyden muodostamiseen sekä viisitoista sekuntia kaikkiaan. Selaimen ja järjestelmän välityspalvelinasetukset pysyvät ennallaan.

Käytä varsinaista curl-ohjelmatiedostoa, jos komentotulkki määrittää curl-komennon toisen ohjelman aliakseksi; curl --version tunnistaa koontiversion. Jos kuuntelija itse vaatii TLS:ää, käytä sen dokumentoimaa välityspalvelimen URL-skeemaa.

Lue neljä tulosta yhden onnistumismerkin sijaan

  1. Yhteys valittuun välityspalvelimeen: osoite ja portti ovat saavutettavissa.
  2. CONNECT hyväksytty: välityspalvelin avasi tunnelin HTTPS-kohteeseen.
  3. Kohteen varmenne tarkistettu: TLS valmistui odotetuilla luottamustarkistuksilla.
  4. Kohteen vastaus vastaanotettu: tarkasta tila ja sisältö sovelluksesi tarvitseman tuloksen kannalta.

Toimivaa tunnelia voi seurata kohteen 403- tai 429-vastaus. curl voi myös päättyä onnistuneesti saatuaan HTTP-virhevastauksen, joten tallenna sekä vastauksen tila että curlin virhetulos. Pelkkä TCP-yhteys tai onnistunut CONNECT ei riitä.

Tiivis tulos toistuviin vertailuihin

Unix-tyyppisessä komentotulkissa voit hylätä vastausrungon ja tulostaa tunnelin tilan, kohteen tilan, yhteyden vastapään ja kuluneen ajan:

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 kuvaa tunnelivastausta; http_code kuvaa lopullista HTTP-vastausta. remote_ip on curl-yhteyden vastapää, ei riippumaton mittaus välityspalvelimen ulostulo-osoitteesta. Korvaa /dev/null muissa järjestelmissä tai säilytä vastausrunko.

Jos testi epäonnistuu, paikanna epäonnistunut yhteydenmuodostuksen tai siirron vaihe ja vertaa samaan kohteeseen suoraan, jos kyseinen reitti on sallittu:

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

--noproxy '*' ohittaa välityspalvelimet. Jos varmenteen tarkistus epäonnistuu molemmilla reiteillä, se viittaa yhteiseen luottamusongelmaan. Suoran yhteyden onnistuminen ja CONNECT-pyynnön hylkäys viittaavat välityspalvelimen todennukseen tai käytäntöön. Tarkista yksityiskohtainen tuloste ennen jakamista, sillä se voi sisältää tunnistavia tietoja.

Tallenna päätepiste, kohde ja aikaleima tuloksen kanssa. Tämä osoittaa, mikä toimi kyseisessä pyynnössä; tuleva saatavuus, yksityisyys ja suorituskyky kuormitettuna vaativat erillistä näyttöä.

Aiheeseen liittyvät artikkelit