คุณสร้างอุโมงค์ SSH ใส่ 127.0.0.1 และพอร์ตของมันในการตั้งค่าพร็อกซีของเบราว์เซอร์ แล้วไม่มีอะไรโหลด ตัวรับฟังอาจทำงานได้อย่างสมบูรณ์ อาจเป็นเพียงแค่รอทราฟฟิกผิดชนิด

การส่งต่อสิ่งที่แอปพลิเคชันภายในส่งการเลือกปลายทาง
-Lโปรโตคอลปกติของบริการปลายทางกำหนดตายตัวในคำสั่ง SSH
-Dการเจรจา SOCKS แล้วจึงเป็นทราฟฟิกของแอปพลิเคชันร้องขอโดยไคลเอนต์ SOCKS

สำหรับเว็บเซิร์ฟเวอร์เครื่องเดียว นี่คือการส่งต่อแบบคงที่:

ssh -N -L 127.0.0.1:9080:web.example.com:80 [email protected]

เปิด http://127.0.0.1:9080/ เป็นเว็บไซต์ อย่าติดป้ายพอร์ต 9080 ว่า SOCKS: มันส่งต่อไบต์ไปยังเว็บเซิร์ฟเวอร์เครื่องเดียวที่ระบุในคำสั่ง การเปิดไซต์ภายใต้ชื่อโฮสต์อื่นอาจส่งผลต่อการโฮสต์เสมือน การเปลี่ยนเส้นทาง หรือคุกกี้ของไซต์นั้นด้วย

สำหรับตัวรับฟัง SOCKS รูปแบบจะเปลี่ยนไป:

ssh -N -D 127.0.0.1:1080 [email protected]

กำหนดค่าแอปพลิเคชันให้ใช้ SOCKS ที่ 127.0.0.1:1080 การพิมพ์ที่อยู่นั้นลงในแถบที่อยู่ของเบราว์เซอร์โดยตรงจะส่งคำขอเว็บไปยังตัวรับฟัง SOCKS ซึ่งเป็นความไม่ตรงกันของโปรโตคอลอีกครั้ง

คู่มือ OpenSSH เอกสารทั้งสองรูปแบบ มีข้อยกเว้นที่เป็นประโยชน์: การส่งต่อพร็อกซี HTTP ที่มีอยู่ด้วย -L จะสร้างพอร์ตภายในที่พูดโปรโตคอลพร็อกซี HTTP เพราะปลายทางคงที่ของมันเองก็คือพร็อกซี HTTP บริการที่ปลายไกลเป็นตัวกำหนดว่าอะไรเหมาะกับการส่งต่อแบบคงที่ การส่งต่อพร็อกซีที่มีอยู่ผ่าน SSH จะรักษาโปรโตคอลและบัญชีของพร็อกซีนั้นไว้

บทความที่เกี่ยวข้อง