socat SOCKS tilti: saglabājiet vietnes TLS resursdatora nosaukumu
Izmantojiet loopback TCP klausītāju vienam SOCKS galamērķim, saglabājot HTTP un TLS identitāti lietojumprogrammā.
Lietojumprogrammai nav SOCKS opcijas, taču tā var izveidot savienojumu ar izvēlētu TCP adresi. Adapteris ar fiksētu mērķi var nodrošināt SOCKS sarunu vienam galamērķim. Tam nav jākļūst par vēl vienu vispārīgu tālāknodošanas starpniekserveri.
SOCKS4A nodrošinošām socat būvēm ilustratīvs izvietojums ir šāds:
socat TCP4-LISTEN:9443,bind=127.0.0.1,reuseaddr,fork \
SOCKS4A:127.0.0.1:service.example.net:443,socksport=1080
SOCKS galapunkts ir vietējais 1080 ports. Adapteris klausās vietējā 9443 portā un pieprasa šim galapunktam service.example.net:443. Šīs ir parauga vērtības, nevis pilnīga pakalpojuma izvietošana.
Adapterim ir viens fiksēts mērķis
Katrs pieņemtais TCP savienojums pieprasa to pašu pakalpojumu. Lietojumprogramma, kas savienojas ar 9443, piegādā savus parastos protokola baitus; socat piegādā SOCKS4A sarunas. Jauns HTTP CONNECT pieprasījums uz 9443 neizvēlētos citu galamērķi—tas nosūtītu šos baitus tālāk fiksētajam pakalpojumam.
SOCKS4A nodod resursdatora nosaukumu SOCKS galapunktam attālinātai atrisināšanai. Tas atšķiras no SOCKS4 formas, kas izmanto klienta izvēlētu adresi. Izvēlētajam augšupstraumam—tostarp publiskam kandidātam no SOCKS4 starpniekserveru saraksta—jāatbalsta SOCKS4A resursdatora nosaukumu apstrāde un nepieciešamā autentifikācija; šis piemērs nav SOCKS5 paroles pieteikšanās recepte.
Savienojieties lokāli, atpazīstiet īsto pakalpojumu
HTTPS URL maiņa uz https://127.0.0.1:9443/ maina resursdatora nosaukumu, ko klients var izmantot TLS un HTTP. service.example.net sertifikāts nekļūs par derīgu loopback sertifikātu.
Ja klients atbalsta atsevišķu savienojuma maršrutēšanu, saglabājiet sākotnējā URL identitāti. Curl var ilustrēt šo atšķirību:
curl --noproxy '*' \
--connect-to service.example.net:443:127.0.0.1:9443 \
https://service.example.net/
Ligzda iet uz vietējo adapteri, kamēr TLS pārbaude un HTTP galamērķis paliek service.example.net. Citām lietojumprogrammām nepieciešama sava līdzvērtīga atbalstīta vadība; ne katrs klients to nodrošina.
Loopback piesaiste ierobežo tīkla iedarbību, taču citi piemēroti vietējie procesi joprojām var to sasniegt. Saglabājiet atbilstošu pakalpojuma darbības laiku un lietotājus. Saglabājiet TLS pārbaudi, nevis apslāpējiet identitātes kļūdu, ko izraisa loopback URL.