curl көмегімен сәтсіз proxy CONNECT жауабының денесін тексеру
Дұрыс құрылған диагностикалық CONNECT сұрауын тікелей HTTP проксиге жіберіп, HTTP қатесінің тақырыптары мен денесін бөлек сақтаңыз.
CONNECT сұрауын қабылдамайтын прокси өзінің саясатын немесе келесі қосылымның сәтсіздігін түсіндіретін HTTP қате құжатын қайтаруы мүмкін. Кәдімгі HTTP проксиге қарсы рұқсат етілген диагностика үшін curl бұл сұрауды тікелей жіберіп, жауапты сақтай алады:
curl --proxy '' --http1.1 --max-time 10 \
--request CONNECT \
--request-target service.example:443 \
--header 'Host: service.example:443' \
--dump-header tunnel.headers \
--output tunnel.body \
http://proxy.example:8080/
Соңғы URL прокси тыңдаушысына бағытталады. Жалпыға қолжетімді проксилерді рұқсат етілген салыстыру үшін HTTP проксилер тізімі сол тыңдаушы URL-іне үміткерлер ұсынады. --request әдіс токенін береді; --request-target CONNECT өкілеттігін береді. Оларды бөлек ұстау CONNECT service.example:443 HTTP/1.1 жасайды.
Бос прокси опциясы curl-дың бұл диагностиканы басқа мұраланған прокси арқылы өткізуіне жол бермейді. Пәрмен HTTP қате құжатын сақтау үшін --fail параметрін әдейі қалдырады.
Аутентификациясыз әрекет зерттеліп жатқан сәтсіздікке жетпей 407-де тоқтауы мүмкін. Аутентификацияланған сұрауды қайта жасағанда проксидің көздеген аутентификация тәртібін қолданыңыз.
Бұл сәтсіздік жауаптарын тексеруге арналған. Егер прокси 2xx қайтарса, қосылым кәдімгі HTTP денесін тасымалдаудың орнына туннельге айналады. Бұл арнайы әдісті диагностика мақсаттың TLS алмасуын бастамайды және қабылданған ашық туннельде уақыт шегіне жетуі мүмкін.
Нақты HTTPS алу үшін әдеттегі --proxy сұрау ағынын қолданыңыз. Диагностика күйі мен денесін олардың нақты проксиі мен мақсатымен бірге сақтаңыз.