HTTP CONNECT: HTTP ప్రాక్సీ HTTPSను ఎలా నిర్వహిస్తుంది?
HTTP ప్రాక్సీ ద్వారా HTTPS అభ్యర్థనను అనుసరించండి, CONNECT ప్రతిస్పందనను మూల సర్వర్ ప్రతిస్పందన నుంచి వేరు చేసి టన్నెల్ ఎక్కడ విఫలమవుతుందో గుర్తించండి.
“200 Connection Established” అంటే ప్రాక్సీ టన్నెల్ను అంగీకరించింది. వెబ్సైట్ ఇంకా పేజీని పంపలేదు. తరువాత గమ్యస్థానంతో TLS జరుగుతుంది; దాని తరువాత అసలు HTTPS అభ్యర్థన వస్తుంది.
ప్రాక్సీ కనెక్షన్ నుంచి వెబ్సైట్ ప్రతిస్పందన వరకు
- క్లయింట్ ప్రాక్సీ ఎండ్పాయింట్కు కనెక్ట్ అవుతుంది.
- గమ్యస్థాన హోస్ట్, పోర్ట్కు కనెక్ట్ కావాలని ప్రాక్సీని అడుగుతుంది.
- ప్రాక్సీ ఆ అభ్యర్థనను అంగీకరిస్తుంది లేదా తిరస్కరిస్తుంది.
- అంగీకారం తరువాత క్లయింట్ టన్నెల్ ద్వారా గమ్యస్థానంతో TLSను చర్చించి ఏర్పాటు చేస్తుంది.
- క్లయింట్ HTTPS అభ్యర్థన పంపి, వెబ్సైట్ ప్రతిస్పందనను TLS లోపల అందుకుంటుంది.
ప్రాక్సీ కనెక్షన్ తిరస్కరణ, టన్నెల్ తిరస్కరణ, సర్టిఫికేట్ లోపం ఈ క్రమంలో వేర్వేరు చోట్ల జరుగుతాయి. సెట్టింగ్లను మార్చే ముందు చివరగా పూర్తయిన దశను కనుగొనండి.
CONNECT మార్పిడి
HTTP/1.1లో సరళీకరించిన మార్పిడి ఇలా ఉంటుంది:
CONNECT example.com:443 HTTP/1.1
Host: example.com:443
HTTP/1.1 200 Connection Established
అభ్యర్థన లక్ష్యం హోస్ట్, పోర్ట్ మాత్రమే; వెబ్సైట్ పాత్ లేదా క్వెరీ ఉండదు. విజయవంతమైన CONNECT ప్రతిస్పందన తరువాత కనెక్షన్ టన్నెల్ బైట్లను మోస్తుంది. HTTPS గమ్యస్థానానికి క్లయింట్ తరువాత చేసే మార్పిడి TLS హ్యాండ్షేక్.
ఆంగ్ల కారణ వాక్యాన్ని సరిపోల్చే బదులు సంఖ్యా స్థితిని చదవండి. ఒకే స్థితికి ప్రాక్సీలు వేర్వేరు పదాలు వాడవచ్చు.
curlతో గమనించండి
స్థానిక పోర్ట్ 8080లోని HTTP ప్రాక్సీ కోసం:
curl --noproxy '' --proxy http://127.0.0.1:8080 --connect-timeout 5 --max-time 15 --verbose https://example.com/వినే చిరునామాను మీ ఎండ్పాయింట్తో మార్చండి. ఎంపికలు కావాలంటే HTTP ప్రాక్సీల జాబితా చూసి ఎంచుకున్న అంశాన్ని పరీక్షించండి. ఖాళీ బైపాస్ జాబితా ఈ కాల్ ప్రాక్సీని ఎంచుకునేలా నిర్ధారిస్తుంది. కాలక్రమంలో ప్రాక్సీ కనెక్షన్, CONNECT ప్రతిస్పందన, గమ్యస్థాన సర్టిఫికేట్ ధృవీకరణ, వెబ్సైట్ ప్రతిస్పందన కోసం చూడండి. లాగ్లోని ఖచ్చితమైన పదాలు curl బిల్డ్పై ఆధారపడతాయి.
ప్రాక్సీ టన్నెల్ను అంగీకరించిన తరువాత గమ్యస్థానం 404, 429 లేదా 500ను ఇవ్వవచ్చు. ఏ HTTP ప్రతిస్పందన ఇవ్వకముందే TLS సమయంలో కూడా విఫలమవవచ్చు.
ఎక్కడ ఆగింది?
| గమనించినది | తరువాత పరిశీలించాల్సినది |
|---|---|
| ప్రాక్సీకి కనెక్షన్ తిరస్కరించబడుతుంది | ప్రాక్సీ చిరునామా, వినే పోర్ట్, ప్రక్రియ, నెట్వర్క్ ప్రాప్యత. |
| ప్రాక్సీ 407ను ఇస్తుంది | ప్రాక్సీ ఖాతా, ప్రామాణీకరణ పద్ధతి. |
| ప్రాక్సీ గమ్యస్థానం లేదా పోర్ట్ను తిరస్కరిస్తుంది | ప్రాప్యత విధానం, అనుమతించిన CONNECT గమ్యస్థానాలు. |
| టన్నెల్ తెరుచుకుంటుంది, తరువాత TLS ధృవీకరణ విఫలమవుతుంది | గమ్యస్థాన పేరు, ట్రస్ట్ స్టోర్, గడియారం, ఏదైనా నిర్వహిత TLS ఇంటర్సెప్షన్. |
| TLS విజయవంతమై వెబ్సైట్ లోపం ఇస్తుంది | వెబ్సైట్ ప్రతిస్పందన. |
పోలికలో ఒకవైపు మార్చకండి: అదే ప్రాక్సీ ద్వారా మరో గమ్యస్థానాన్ని ప్రయత్నించండి లేదా అదే గమ్యస్థానాన్ని అనుమతించిన నేరుగా వెళ్లే మార్గంతో పోల్చండి.
టన్నెల్కూ నిర్వాహకుడు ఉంటాడు
ప్రాక్సీకి CONNECT గమ్యస్థానం తెలుసు; ట్రాఫిక్ సమయాలను, పరిమాణాన్ని అది నిర్వహిస్తుంది. సాధారణ ఎండ్-టు-ఎండ్ TLS వెబ్సైట్ అప్లికేషన్ విషయాన్ని ఆ TLS సెషన్ను తనవద్ద ముగించని ప్రాక్సీ నుంచి కాపాడుతుంది. క్లయింట్ విశ్వసించే నిర్వహిత ఇంటర్సెప్షన్ ప్రాక్సీకి భిన్నమైన నమ్మక సంబంధం ఉంటుంది.