កម្មវិធីមួយគ្មានជម្រើស SOCKS ទេ ប៉ុន្តែវាអាចភ្ជាប់ទៅអាសយដ្ឋាន TCP ដែលបានជ្រើស។ អាដាប់ទ័រដែលមានគោលដៅថេរអាចផ្តល់ការសន្ទនា SOCKS សម្រាប់គោលដៅមួយ។ វាមិនចាំបាច់ក្លាយជាប្រូកស៊ីបញ្ជូនបន្តទូទៅមួយទៀតទេ។

សម្រាប់ការសាងសង់ socat ដែលផ្តល់ SOCKS4A ការរៀបចំជាឧទាហរណ៍គឺ៖

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។ ការផ្ញើសំណើ HTTP CONNECT ថ្មីទៅ 9443 នឹងមិនជ្រើសគោលដៅផ្សេងទេ—វានឹងផ្ញើបៃទាំងនោះបន្តទៅសេវាថេរ។

SOCKS4A ផ្តល់ឈ្មោះម៉ាស៊ីនទៅចំណុចបញ្ចប់ SOCKS សម្រាប់ការដោះស្រាយពីចម្ងាយ។ នេះខុសពីទម្រង់ SOCKS4 ដែលប្រើអាសយដ្ឋានដែលជ្រើសដោយអតិថិជន។ លំហូរខាងលើដែលបានជ្រើស—រួមទាំងបេក្ខជនសាធារណៈពីបញ្ជីប្រូកស៊ី SOCKS4—ត្រូវតែគាំទ្រការគ្រប់គ្រងឈ្មោះម៉ាស៊ីន SOCKS4A និងការផ្ទៀងផ្ទាត់ដែលត្រូវការ; ឧទាហរណ៍នេះមិនមែនជារូបមន្តចូលដោយពាក្យសម្ងាត់ SOCKS5 ទេ។

ភ្ជាប់ក្នុងតំបន់ ស្គាល់សេវាពិត

ការប្តូរ URL HTTPS ទៅ 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 កំណត់ការបង្ហាញបណ្តាញ ប៉ុន្តែដំណើរការមូលដ្ឋានសមស្របផ្សេងទៀតនៅតែអាចទៅដល់វា។ រក្សាអាយុកាលសេវា និងអ្នកប្រើប្រាស់ឲ្យសមស្រប។ រក្សាការផ្ទៀងផ្ទាត់ TLS ជំនួសឱ្យការបង្ក្រាបកំហុសអត្តសញ្ញាណដែលបណ្តាលមកពី URL loopback។

អត្ថបទពាក់ព័ន្ធ