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 അഭ്യർത്ഥന പ്രവാഹം ഉപയോഗിക്കുക. ഡയഗ്നോസ്റ്റിക്സിന്റെ സ്ഥിതിയും ബോഡിയും അവയുടെ പ്രത്യേക പ്രോക്സിയും ലക്ഷ്യവും സഹിതം സൂക്ഷിക്കുക.