บทความทั้งหมด
localhost tunnelingport forwardingnetworkingHTTPS

เปิดเผย localhost โดยไม่ต้อง port forwarding

คุณสามารถ เปิดเผย localhost โดยไม่ต้อง port forwarding ได้ด้วย tunnel WebSocket ขาออก แทนที่จะเปิดพอร์ตขาเข้าบนเราเตอร์ CLI ของ tunnel จะเชื่อมต่อจากเครื่องของคุณไปยังเกตเวย์บนคลาวด์ซึ่งกำหนด URL HTTPS สาธารณะ โดยไม่ต้องตั้งค่าเราเตอร์ ไม่ต้องมี IP สาธารณะ และไม่ต้องตั้งข้อยกเว้นไฟร์วอลล์

ทำไม port forwarding จึงเป็นความเจ็บปวดของนักพัฒนา

port forwarding แบบดั้งเดิมต้องการ:

  • สิทธิ์เข้าหน้าผู้ดูแลของเราเตอร์
  • ที่อยู่ IP สาธารณะแบบคงที่หรือไดนามิก
  • กฎไฟร์วอลล์ขาเข้าบนเครื่องและเราเตอร์
  • การตั้งค่าใบรับรอง TLS ด้วยมือสำหรับ HTTPS
  • ความร่วมมือจาก ISP (หลายรายบล็อกพอร์ตขาเข้าบนการเชื่อมต่อตามบ้าน)

เครือข่ายองค์กรและ Wi-Fi ร้านกาแฟยิ่งทำให้ยุ่งยากขึ้น นักพัฒนาส่วนใหญ่ต้องการทางที่ง่ายกว่านี้

tunnel ขาออกแทนที่ port forwarding อย่างไร

เครื่องมือ tunnel localhost สมัยใหม่กลับทิศทางการเชื่อมต่อ:

  1. CLI ของ tunnel เริ่มการเชื่อมต่อขาออกไปยังเกตเวย์บนคลาวด์
  2. เกตเวย์กำหนด URL HTTPS สาธารณะที่ผูกกับเซสชันของคุณ
  3. ทราฟฟิกภายนอกมาถึงเกตเวย์ คำขอไหลผ่านช่องทางขาออกที่มีอยู่ไปยังพอร์ตในเครื่องของคุณ
  4. เมื่อหยุด CLI URL ก็จะหยุดทำงาน

เพราะการเชื่อมต่อเริ่มจากภายในเครือข่ายของคุณ ไฟร์วอลล์องค์กร NAT และข้อจำกัดของ ISP จึงแทบไม่บล็อกมัน

เปิดเผย localhost ด้วยคำสั่งเดียว

npx portpreview 3000

PortPreview เชื่อมต่อขาออก กำหนด URL HTTPS และส่งต่อทราฟฟิกไปยังพอร์ต 3000 ของเครื่องคุณ ไม่ต้องล็อกอินเข้าเราเตอร์ ไม่ต้องมีเรคคอร์ด DNS ไม่ต้องจัดการใบรับรอง

port forwarding เทียบกับ tunnel localhost

ด้านport forwardingtunnel localhost
การตั้งค่าเราเตอร์จำเป็นไม่จำเป็น
IP สาธารณะจำเป็นไม่จำเป็น
HTTPSตั้งค่าด้วยมือมีให้พร้อม
การเปลี่ยนไฟร์วอลล์กฎขาเข้าไม่มี (ขาออกเท่านั้น)
การตรวจสอบคำขอเครื่องมือแยกมีในตัว PortPreview
เครือข่ายองค์กรมักถูกบล็อกมักใช้ได้

เมื่อไรที่ยังต้องใช้ port forwarding

  • บริการ self-hosted ที่ต้องรันบนโครงสร้างพื้นฐานของคุณเองในระยะยาว
  • โปรโตคอลที่เครื่องมือ tunnel ไม่รองรับ (บริการ TCP เฉพาะที่นอกเหนือจาก HTTP)
  • สภาพแวดล้อมที่นโยบายบล็อกการเชื่อมต่อขาออกไปยังเกตเวย์ของบุคคลที่สาม

สำหรับการทดสอบ webhook HTTP, callback OAuth และการพรีวิวระหว่างพัฒนา tunnel localhost เป็นตัวเลือกเริ่มต้นที่เร็วและปลอดภัยกว่า

ข้อดีด้านความปลอดภัยของการเลี่ยง port forwarding

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

กรณีใช้งานทั่วไปที่ไม่ต้อง port forwarding

เข้าร่วมรายชื่อรอของ PortPreview เพื่อเปิดเผย localhost โดยไม่ต้องแตะเราเตอร์

คำถามที่พบบ่อย

เปิดเผย localhost โดยไม่ต้อง port forwarding อย่างไร?
ใช้เครื่องมือ tunnel localhost อย่าง PortPreview มันสร้างการเชื่อมต่อขาออกไปยังเกตเวย์บนคลาวด์ซึ่งกำหนด URL HTTPS สาธารณะที่ส่งต่อไปยังพอร์ตในเครื่องของคุณ โดยไม่ต้องเปลี่ยนเราเตอร์หรือไฟร์วอลล์
ต้องมี IP สาธารณะเพื่อเปิดเผย localhost ไหม?
ไม่ต้อง tunnel WebSocket ขาออกทำงานหลัง NAT, IP ไดนามิก และไฟร์วอลล์องค์กรได้ เพราะการเชื่อมต่อเริ่มจากเครื่องของคุณออกไปข้างนอก
tunnel localhost ปลอดภัยกว่า port forwarding ไหม?
สำหรับการพัฒนา ใช่ tunnel เลี่ยงการเปิดพอร์ตขาเข้าบนเราเตอร์ และจำกัดการเปิดเผยไว้ที่พอร์ตในเครื่องเดียวระหว่างเซสชันที่ใช้งานอยู่