Ersätt 127.0.0.1:8080 med en ändpunkt från din tjänst eller listan med HTTP-proxyer och kör detta mot en ofarlig HTTPS-destination:

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

Loopbackadressen avser en lyssnare på din egen dator. Kommandot väljer den uttryckligen, tömmer curls undantagslista för just detta anrop och tillåter fem sekunder för anslutningsetablering och femton sekunder totalt. Webbläsarens och systemets proxyinställningar lämnas orörda.

Använd den riktiga körbara curl-filen om ditt skal gör curl till ett alias för ett annat program; curl --version identifierar bygget. Kräver själva lyssnaren TLS, använd det proxy-URL-schema som anges i dokumentationen.

Läs fyra resultat, inte bara en grön signal

  1. Ansluten till vald proxy: adressen och porten är nåbara.
  2. CONNECT accepterad: proxyn öppnade en tunnel till HTTPS-destinationen.
  3. Destinationens certifikat verifierat: TLS slutfördes med de förväntade tillitskontrollerna.
  4. Destinationens svar mottaget: granska status och innehåll för att avgöra om resultatet uppfyller applikationens behov.

En fungerande tunnel kan följas av 403 eller 429 från destinationen. curl kan också avslutas med lyckad status efter ett HTTP-felsvar. Registrera därför både svarsstatus och curls felresultat. En TCP-anslutning eller lyckad CONNECT räcker inte ensam.

Ett kompakt resultat för upprepade jämförelser

I ett Unix-liknande skal kan du kasta svarskroppen och skriva ut tunnelstatus, destinationsstatus, anslutningens motpart och förfluten 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 beskriver tunnelsvaret; http_code beskriver det slutliga HTTP-svaret. remote_ip är curls anslutningsmotpart, inte en oberoende mätning av proxyns utgående adress. Ersätt /dev/null på andra system eller behåll svarskroppen.

Om testet misslyckas, hitta steget i anslutningen eller överföringen som misslyckades och jämför samma destination direkt där den vägen är tillåten:

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

--noproxy '*' går förbi proxyer. Misslyckad certifikatkontroll på båda vägarna tyder på ett gemensamt tillitsproblem. Om direktanslutningen fungerar men CONNECT avvisas, pekar det mot proxyautentisering eller policy. Granska den detaljerade utmatningen innan du delar den, eftersom den kan innehålla identifierande information.

Spara ändpunkt, mål och tidsstämpel med resultatet. Detta visar vad som fungerade för den begäran; framtida tillgänglighet, integritet och prestanda under belastning kräver separata belägg.

Relaterade artiklar