หากคุณสร้าง API ผลิตภัณฑ์ SaaS หรือแอปที่ขับเคลื่อนด้วย webhook สุดท้ายแล้วคุณจำเป็นต้องให้อินเทอร์เน็ตเข้าถึง เซิร์ฟเวอร์พัฒนาในเครื่อง ของคุณ localhost tunneling แก้ปัญหานี้โดยให้ URL HTTPS สาธารณะที่ปลอดภัย ซึ่งส่งต่อทราฟฟิกไปยัง 127.0.0.1 โดยไม่ต้องดีพลอยขึ้น staging
localhost tunneling คืออะไร?
localhost tunneling (หรือเรียกว่า localhost tunnel) เชื่อมเครื่องของคุณกับเกตเวย์บนคลาวด์ บริการภายนอก เบราว์เซอร์ และอุปกรณ์มือถือจะเรียกที่ปลายทางสาธารณะ ส่วนเกตเวย์จะส่งต่อทุกคำขอผ่านช่องทางที่เข้ารหัสไปยังแอปในเครื่องของคุณ
ในทางปฏิบัติ tunnel เปลี่ยนที่อยู่ที่เข้าถึงไม่ได้นี้:
http://localhost:3000
ให้กลายเป็นปลายทางที่แชร์ได้ เช่น:
https://your-app.portpreview.dev
การเปลี่ยนเพียงจุดเดียวนี้ปลดล็อกการทดสอบ webhook การพรีวิวให้ลูกค้า และการ QA ข้ามอุปกรณ์จากสภาพแวดล้อมการพัฒนาเดิมของคุณ
localhost tunnel ทำงานอย่างไร
เครื่องมือ tunnel สมัยใหม่ส่วนใหญ่ใช้ การเชื่อมต่อ WebSocket ขาออก แทนการเปิดพอร์ตขาเข้าของไฟร์วอลล์ ขั้นตอนเป็นดังนี้:
- คุณเริ่มแอปในเครื่อง (เช่น ที่พอร์ต 3000)
- CLI ของ tunnel เชื่อมต่อจากเครื่องของคุณไปยังเกตเวย์บนคลาวด์
- เกตเวย์กำหนด URL HTTPS สาธารณะที่ผูกกับเซสชันนั้น
- คำขอที่เข้ามาจะถูกส่งต่อไปยังโปรเซสในเครื่องของคุณแบบเรียลไทม์
เนื่องจากการเชื่อมต่อเริ่มจากในเครื่อง คุณจึงเลี่ยงการตั้งค่า reverse proxy เรคคอร์ด DNS การจัดการใบรับรอง TLS และการตั้งค่าเราเตอร์ สำหรับทีมที่ส่งงานเร็ว นี่ช่วยขจัดจุดติดขัดสำคัญในการพัฒนาประจำวัน
ทำไมนักพัฒนาจึงใช้ localhost tunneling
การทดสอบ webhook และ callback
ผู้ให้บริการชำระเงิน แพลตฟอร์มควบคุมเวอร์ชัน และ API ส่งข้อความจะส่ง callback แบบ HTTP ไปยัง URL ที่ตั้งค่าไว้ พวกเขาเรียกที่อยู่ localhost ส่วนตัวโดยตรงไม่ได้ tunnel มอบปลายทางที่เข้าถึงได้ให้ผู้ให้บริการ ขณะที่คุณตรวจสอบ payload บนเครื่องของคุณ ดูคู่มือของเราเรื่อง การดีบัก webhook ในเครื่อง, การทดสอบ webhook ของ Stripe, การทดสอบ webhook ของ GitHub และ การทดสอบ webhook ของ Twilio
แชร์งานที่กำลังทำโดยไม่ต้อง staging
การรีวิวดีไซน์ การสาธิตผลิตภัณฑ์ และฟีดแบ็กจากผู้มีส่วนได้เสียมักเกิดขึ้นก่อนที่ branch จะพร้อมดีพลอย URL tunnel สาธารณะให้คุณแชร์พรีวิวสดของการเปลี่ยนแปลงในเครื่องได้ในไม่กี่วินาที
การทดสอบบนมือถือและข้ามอุปกรณ์
โทรศัพท์และแท็บเล็ตเข้าถึง localhost ของแล็ปท็อปคุณไม่ได้ tunneling ให้คุณเปิด build ในเครื่องตัวเดียวกันบนอุปกรณ์จริง เพื่อตรวจสอบ UI แบบ responsive ขั้นตอนยืนยันตัวตน และประสิทธิภาพ
การพัฒนาการเชื่อมต่อกับบุคคลที่สาม
การรีไดเรกต์ OAuth การส่ง webhook ที่มีลายเซ็น และ callback ของ API พาร์ตเนอร์ ล้วนต้องการปลายทางที่เข้าถึงได้จากอินเทอร์เน็ตระหว่างงานเชื่อมต่อ localhost tunneling เก็บเวิร์กโฟลว์นั้นไว้บนเครื่องของคุณ
localhost tunneling เทียบกับทางเลือกอื่น
ทีมมักเปรียบเทียบสามตัวเลือก:
- การดีพลอย staging: สมจริงแต่วงจรฟีดแบ็กช้าและสภาพแวดล้อมทดสอบมีสัญญาณรบกวน
- การ forward พอร์ตด้วยมือ: ทำได้แต่เปราะบางและมักถูก ISP หรือเครือข่ายองค์กรบล็อก
- localhost tunneling: วนซ้ำได้เร็ว HTTPS โดยค่าเริ่มต้น และมีการมองเห็นคำขอที่สร้างมาเพื่อการนี้
หากกำลังประเมินเครื่องมือ อ่านการเปรียบเทียบ PortPreview กับ ngrok และ PortPreview กับ localtunnel เพื่อดูเวิร์กโฟลว์ tunnel สมัยใหม่ทีละฟีเจอร์
เริ่มต้นกับ PortPreview
PortPreview สร้างมาเพื่อเวิร์กโฟลว์ที่ใช้ webhook หนัก เริ่ม tunnel ด้วยคำสั่งเดียว:
npx portpreview 3000
คุณจะได้ URL HTTPS สาธารณะ ล็อกคำขอแบบสด และเครื่องมือส่งซ้ำโดยไม่ต้องแก้โค้ดแอป CLI โอเพนซอร์สส่งต่อเฉพาะพอร์ตที่คุณเลือก สภาพแวดล้อมในเครื่องจึงคาดเดาได้และตรวจสอบได้
พร้อมลองหรือยัง? เข้าร่วมรายชื่อรอของ PortPreview หรือสำรวจ CLI โอเพนซอร์สบน GitHub