Pārbaudiet HTTP starpniekserveri ar curl
Ar laikā ierobežotu curl testu pārbaudiet savienojumu ar starpniekserveri, HTTPS tuneli, atbildes statusu un apiešanas noteikumus, nemainot ierīces globālo starpniekserveri.
Aizstājiet 127.0.0.1:8080 ar sava pakalpojuma galapunktu vai adresi no HTTP starpniekserveru saraksta un izpildiet šo komandu pret nekaitīgu HTTPS galamērķi:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Atgriezeniskās cilpas adrese nozīmē klausītāju jūsu pašu datorā. Komanda to izvēlas nepārprotami, šim izsaukumam iztīra curl apiešanas sarakstu un atļauj piecas sekundes savienojuma izveidei un piecpadsmit sekundes kopā. Pārlūka un sistēmas starpniekservera iestatījumi netiek mainīti.
Izmantojiet īsto curl izpildāmo failu, ja čaula curl nosaka par citas programmas aizstājvārdu; curl --version identificē būvējumu. Ja pašam klausītājam nepieciešams TLS, izmantojiet dokumentēto starpniekservera URL shēmu.
Lasiet četrus rezultātus, ne vienu zaļo gaismu
- Savienojums ar izvēlēto starpniekserveri: adrese un ports ir sasniedzami.
- CONNECT pieņemts: starpniekserveris atvēra tuneli uz HTTPS galamērķi.
- Galamērķa sertifikāts pārbaudīts: TLS tika pabeigts ar paredzētajām uzticamības pārbaudēm.
- Galamērķa atbilde saņemta: pārbaudiet statusu un saturu atbilstoši lietotnei vajadzīgajam rezultātam.
Darbojošam tunelim var sekot galamērķa 403 vai 429. curl var veiksmīgi beigt darbu arī pēc HTTP kļūdas atbildes saņemšanas, tāpēc saglabājiet gan atbildes statusu, gan curl kļūdas rezultātu. Ar TCP savienojumu vai veiksmīgu CONNECT vien nepietiek.
Kompakts rezultāts atkārtotiem salīdzinājumiem
Unix tipa čaulā atmetiet atbildes pamatdaļu un izdrukājiet tuneļa statusu, galamērķa statusu, savienojuma otru pusi un pagājušo laiku:
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 apraksta tuneļa atbildi; http_code apraksta galīgo HTTP atbildi. remote_ip ir curl savienojuma otra puse, nevis neatkarīgs starpniekservera izejas adreses mērījums. Citās sistēmās aizstājiet /dev/null vai saglabājiet atbildes pamatdaļu.
Ja tests neizdodas, atrodiet neveiksmīgo savienojuma izveides vai pārsūtīšanas soli un salīdziniet ar tiešu piekļuvi tam pašam galamērķim, kur šāds ceļš ir atļauts:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/--noproxy '*' apiet starpniekserverus. Sertifikāta pārbaudes neveiksme abos ceļos norāda uz kopīgu uzticamības problēmu; veiksmīga tiešā piekļuve kopā ar noraidītu CONNECT norāda uz starpniekservera autentifikāciju vai politiku. Pirms detalizētā izvada kopīgošanas to pārskatiet, jo tajā var būt identificējoša informācija.
Saglabājiet galapunktu, mērķi un laika zīmogu kopā ar rezultātu. Tas nosaka, kas darbojās šim pieprasījumam; pieejamībai nākotnē, privātumam un veiktspējai slodzes laikā vajadzīgi atsevišķi pierādījumi.