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 ને આ નિદાન બીજા વારસાગત પ્રોક્સીમાંથી પસાર કરતું અટકાવે છે. આદેશ જાણી જોઈને --fail છોડે છે જેથી HTTP ભૂલ દસ્તાવેજ રાખી શકાય.
બિન-પ્રમાણિત પ્રયાસ તપાસાતી નિષ્ફળતા સુધી પહોંચતાં પહેલાં 407 પર અટકી શકે છે. પ્રમાણિત વિનંતી ફરી બનાવતી વખતે પ્રોક્સીની ઇચ્છિત પ્રમાણીકરણ ગોઠવણ વાપરો.
આ નિષ્ફળતાના પ્રતિભાવોનું નિરીક્ષણ કરવા માટે છે. જો પ્રોક્સી 2xx પરત કરે તો જોડાણ સામાન્ય HTTP બોડી સ્થાનાંતરણને બદલે ટનલ બને છે. આ કસ્ટમ-પદ્ધતિ નિદાન લક્ષ્યના TLS વિનિમયને શરૂ કરતું નથી અને સ્વીકૃત ખુલ્લી ટનલ પર તેની સમય મર્યાદા સુધી પહોંચી શકે છે.
વાસ્તવિક HTTPS ફેચ માટે સામાન્ય --proxy વિનંતી પ્રવાહ વાપરો. નિદાનની સ્થિતિ અને બોડી તેમના ચોક્કસ પ્રોક્સી અને લક્ષ્ય સાથે રાખો.