შეამოწმეთ HTTP პროქსი curl-ით
დროით შეზღუდული curl ტესტით შეამოწმეთ პროქსისთან კავშირი, HTTPS გვირაბი, პასუხის სტატუსი და გვერდის ავლის წესები მოწყობილობის საერთო პროქსის შეცვლის გარეშე.
127.0.0.1:8080 შეცვალეთ თქვენი სერვისის ან HTTP პროქსიების სიიდან აღებული საბოლოო წერტილით და ეს გაუშვით უვნებელი HTTPS სამიზნის მიმართ:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/Loopback მისამართი თქვენსავე კომპიუტერზე არსებულ მსმენელს ნიშნავს. ბრძანება მას აშკარად ირჩევს, ამ გამოძახებისთვის curl-ის გვერდის ავლის სიას ასუფთავებს და კავშირის დასამყარებლად ხუთ წამს, მთლიანად კი თხუთმეტ წამს იძლევა. ბრაუზერისა და სისტემის პროქსის პარამეტრებს არ ცვლის.
გამოიყენეთ curl-ის ნამდვილი შესრულებადი ფაილი, თუ ბრძანების გარსი curl-ს სხვა პროგრამის ფსევდონიმად იყენებს; curl --version აგებას განსაზღვრავს. თუ თვითონ მსმენელი TLS-ს მოითხოვს, გამოიყენეთ მისი დოკუმენტირებული პროქსის URL სქემა.
წაიკითხეთ ოთხი შედეგი და არა წარმატების ერთი ნიშანი
- არჩეულ პროქსისთან დაკავშირება: მისამართი და პორტი ხელმისაწვდომია.
- CONNECT მიღებულია: პროქსიმ HTTPS სამიზნემდე გვირაბი გახსნა.
- სამიზნის სერტიფიკატი შემოწმებულია: TLS დასრულდა ნდობის მოსალოდნელი შემოწმებებით.
- სამიზნის პასუხი მიღებულია: სტატუსი და შიგთავსი შეამოწმეთ აპლიკაციისთვის საჭირო შედეგის მიხედვით.
მუშა გვირაბის შემდეგაც სამიზნემ შეიძლება 403 ან 429 დააბრუნოს. curl შეიძლება HTTP შეცდომის პასუხის მიღების შემდეგაც წარმატებით დასრულდეს, ამიტომ ჩაწერეთ პასუხის სტატუსიც და curl-ის შეცდომის შედეგიც. მხოლოდ TCP კავშირი ან წარმატებული CONNECT საკმარისი არ არის.
მოკლე შედეგი განმეორებითი შედარებებისთვის
Unix-ის მსგავს გარსში გადააგდეთ პასუხის სხეული და დაბეჭდეთ გვირაბის სტატუსი, სამიზნის სტატუსი, კავშირის მეორე მხარე და გასული დრო:
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 გვირაბის პასუხს აღწერს; http_code საბოლოო HTTP პასუხს. remote_ip curl-ის კავშირის მეორე მხარეა და არა პროქსის გამოსასვლელი მისამართის დამოუკიდებელი გაზომვა. სხვა სისტემებზე შეცვალეთ /dev/null ან შეინახეთ პასუხის სხეული.
თუ ტესტი ჩაიშლება, იპოვეთ კავშირის დამყარების ან გადაცემის ჩავარდნილი ნაბიჯი და იგივე სამიზნე პირდაპირ შეადარეთ იქ, სადაც ეს მარშრუტი ნებადართულია:
curl --noproxy '*' --connect-timeout 5 --max-time 15 --verbose https://example.com/--noproxy '*' პროქსებს გვერდს უვლის. ორივე მარშრუტზე სერტიფიკატის შემოწმების ჩავარდნა საერთო ნდობის პრობლემაზე მიანიშნებს; პირდაპირი კავშირის წარმატება და CONNECT-ის უარყოფა პროქსის ავთენტიფიკაციაზე ან პოლიტიკაზე მიანიშნებს. დეტალური გამოტანა გაზიარებამდე გადახედეთ, რადგან შეიძლება საიდენტიფიკაციო ინფორმაცია ჰქონდეს.
შედეგთან ერთად შეინახეთ საბოლოო წერტილი, სამიზნე და დროის ნიშნული. ეს აფიქსირებს, რა მუშაობდა იმ მოთხოვნისთვის; სამომავლო ხელმისაწვდომობას, კონფიდენციალურობასა და დატვირთვაზე წარმადობას ცალკე მტკიცებულება სჭირდება.