socat SOCKS-pontoj: konservi la TLS-gastigantan nomon de la retejo
Uzu loopback TCP-auskultanton por unu SOCKS-celo konservante la HTTP- kaj TLS-identecon en la aplikaĵo.
Aplikaĵo ne havas SOCKS-opcion, sed povas konektiĝi al elektita TCP-adreso. Adaptilo kun fiksa celo povas liveri la SOCKS-interparoladon por unu celloko. Ĝi ne devas fariĝi alia ĝenerala antaŭa prokurilo.
Por socat-konstruoj provizantaj SOCKS4A, ilustra aranĝo estas:
socat TCP4-LISTEN:9443,bind=127.0.0.1,reuseaddr,fork \
SOCKS4A:127.0.0.1:service.example.net:443,socksport=1080
La SOCKS-finpunkto estas loka pordo 1080. La adaptilo aŭskultas sur loka pordo 9443 kaj petas tiun finpunkton pri service.example.net:443. Ĉi tiuj estas ekzemplaj valoroj, ne kompleta serva deplojo.
La adaptilo havas unu fiksan celon
Ĉiu akceptita TCP-konekto petas la saman servon. Aplikaĵo konektiĝanta al 9443 liveras siajn normalajn protokolajn bitokojn; socat liveras la SOCKS4A-intertraktadon. Nova HTTP CONNECT-peto al 9443 ne elektus alian cellokon—ĝi sendus tiujn bitokojn plu al la fiksa servo.
SOCKS4A liveras gastigantan nomon al la SOCKS-finpunkto por fora solvado. Tio diferencas de la SOCKS4-formo uzanta adreson elektitan de la kliento. La elektita supra fluo—inkluzive de publika kandidato el la SOCKS4-prokura listo—devas subteni SOCKS4A-gastigantan nommanipuladon kaj la postulatan aŭtentikigon; ĉi tiu ekzemplo ne estas SOCKS5-pasvortan ensalutan recepton.
Konektu loke, identigu la veran servon
Ŝanĝi HTTPS-URL-on al https://127.0.0.1:9443/ ŝanĝas la gastigantan nomon, kiun la kliento povas uzi por TLS kaj HTTP. Atestilo por service.example.net ne fariĝos valida atestilo por loopback.
Kie la kliento subtenas apartan konektan vojigon, konservu la originan URL-identecon. Curl povas ilustri tiun distingon:
curl --noproxy '*' \
--connect-to service.example.net:443:127.0.0.1:9443 \
https://service.example.net/
La ingo iras al la loka adaptilo, dum TLS-kontrolado kaj la HTTP-celloko restas service.example.net. Aliaj aplikaĵoj bezonas sian propran ekvivalentan subtenatan regadon; ne ĉiu kliento provizas unu.
La loopback-ligado limigas retan ekspozicion, sed aliaj taŭgaj lokaj procezoj ankoraŭ povas atingi ĝin. Tenadu la servodaŭron kaj uzantojn taŭgaj. Konservu TLS-kontroladon anstataŭ subpremi la identec-eraron kaŭzitan de loopback-URL.