socat SOCKS వంతెనలు: సైట్ యొక్క TLS హోస్ట్పేరును కాపాడండి
ఒక SOCKS గమ్యానికి loopback TCP శ్రోతను ఉపయోగించి అప్లికేషన్లో HTTP మరియు TLS గుర్తింపును కాపాడండి.
అప్లికేషన్కు SOCKS ఎంపిక లేదు, కానీ ఎంచుకున్న TCP చిరునామాకు కనెక్ట్ కావచ్చు. స్థిర-లక్ష్య అనుసరణి ఒక గమ్యానికి SOCKS సంభాషణను అందించగలదు. ఇది మరో సాధారణ ఫార్వర్డ్ ప్రాక్సీగా మారాల్సిన అవసరం లేదు.
SOCKS4A అందించే socat బిల్డ్ల కోసం ఒక ఉదాహరణ అమరిక:
socat TCP4-LISTEN:9443,bind=127.0.0.1,reuseaddr,fork \
SOCKS4A:127.0.0.1:service.example.net:443,socksport=1080
SOCKS ముగింపు బిందువు స్థానిక పోర్ట్ 1080. అనుసరణి స్థానిక పోర్ట్ 9443పై వింటుంది మరియు ఆ ముగింపు బిందువును service.example.net:443 అడుగుతుంది. ఇవి ఉదాహరణ విలువలు, పూర్తి సేవా విస్తరణ కాదు.
అనుసరణికి ఒక స్థిర లక్ష్యం ఉంది
అంగీకరించిన ప్రతి TCP కనెక్షన్ అదే సేవను అడుగుతుంది. 9443కు కనెక్ట్ అయ్యే అప్లికేషన్ తన సాధారణ ప్రోటోకాల్ బైట్లను అందిస్తుంది; socat SOCKS4A చర్చలను అందిస్తుంది. 9443కు కొత్త HTTP CONNECT అభ్యర్థన పంపినా వేరే గమ్యం ఎంపిక కాదు—ఆ బైట్లను స్థిర సేవకు పంపుతుంది.
SOCKS4A దూర పరిష్కారం కోసం SOCKS ముగింపు బిందువుకు హోస్ట్పేరును అందిస్తుంది. ఇది క్లయింట్ ఎంచుకున్న చిరునామాను ఉపయోగించే SOCKS4 రూపం నుండి భిన్నం. ఎంచుకున్న అప్స్ట్రీమ్—SOCKS4 ప్రాక్సీ జాబితా నుండి ప్రజా అభ్యర్థితో సహా—SOCKS4A హోస్ట్పేరు నిర్వహణ మరియు అవసరమైన ప్రామాణీకరణకు మద్దతు ఇవ్వాలి; ఈ ఉదాహరణ SOCKS5 పాస్వర్డ్ లాగిన్ విధానం కాదు.
స్థానికంగా కనెక్ట్ అవ్వండి, నిజమైన సేవను గుర్తించండి
HTTPS URLను https://127.0.0.1:9443/గా మార్చడం క్లయింట్ TLS మరియు HTTP కోసం ఉపయోగించగల హోస్ట్పేరును మారుస్తుంది. service.example.net కోసం ధృవపత్రం loopback కోసం చెల్లుబాటు అయ్యే ధృవపత్రం కాదు.
క్లయింట్ వేరు కనెక్షన్ రూటింగ్కు మద్దతు ఇచ్చినప్పుడు, అసలు URL గుర్తింపును ఉంచండి. Curl ఆ భేదాన్ని చూపగలదు:
curl --noproxy '*' \
--connect-to service.example.net:443:127.0.0.1:9443 \
https://service.example.net/
సాకెట్ స్థానిక అనుసరణికి వెళుతుంది, TLS ధృవీకరణ మరియు HTTP గమ్యం service.example.netగానే ఉంటాయి. ఇతర అప్లికేషన్లకు వాటి స్వంత సమానమైన మద్దతు నియంత్రణ అవసరం; ప్రతి క్లయింట్ దానిని అందించదు.
loopback బంధం నెట్వర్క్ ఎక్స్పోజర్ను పరిమితం చేస్తుంది, కానీ ఇతర అర్హత కలిగిన స్థానిక ప్రక్రియలు ఇప్పటికీ చేరుకోగలవు. సేవ జీవితకాలం మరియు వినియోగదారులను తగినట్లు ఉంచండి. loopback URL వల్ల కలిగే గుర్తింపు లోపాన్ని అణచివేయడం బదులు TLS ధృవీకరణను ఉంచండి.