Blog About
Table of Contents
  • เนื้อหา
  • Ngrok คืออะไร
  • ติดตั้ง
  • ตั้งค่า
  • ใช้งานด้วยคำสั่ง
  • อ่านเพิ่มเติมที่

Ngrok expose localhost to internet

Apisit N.
17 Jul 2022

Ngrok ทำให้ใครก็ได้ ก็สามารถเข้าใช้งาน website หรือ application ที่กำลังทำงานอยู่บนเครื่อง localhost ได้โดยเข้าถึงได้จาก online หรือก็คือทำ localhost ให้เป็น public ip ได้

เนื้อหา

  • เนื้อหา
  • Ngrok คืออะไร
  • ติดตั้ง
  • ตั้งค่า
  • ใช้งานด้วยคำสั่ง
  • อ่านเพิ่มเติมที่

Ngrok คืออะไร

ngrok คือเครื่องมือตัวนึงที่ช่วยให้เรานำ web หรือ application ของเราสามารถเข้าถึงได้ผ่าน internet และมันทำง่ายมาก

ในตอนที่เราเขียนโปรแกรม เราจะเขียนในเครื่องของตัวเอง(localhost) คนที่สามารถเข้าถึงก็มีแค่ใน network เดียวกัน เช่น เครื่องเรา ip 192.168.1.2 แล้วเราเขียนโปรแกรมขึ้นมาโดยใช้ localhost:3000 ถ้าเครื่องอื่นที่อยู่ใน network เดียวกันจะเข้ามาก็สามารถเข้าผ่าน ip 192.168.1.2:3000 ได้

network เดียวกันในที่นี้หมายถึงใช้ wifi ตัวเดียวกันหรือในเครือข่าย lan เดียวกัน ถ้าอยู่ใน network เดียวกันก็สามารถเชื่อมต่อถึงกันได้ ประมาณว่าเล่นเกมในวง lan เดียวกัน

ทีนี้ปัญหาก็คือ มันเข้าได้แค่ใน lan ไงถ้าอยู่คนละสถานที่กันก็ดูไม่ได้ละเพราะอยู่คนละ network ทีนี้ถ้าเราอยากจะให้คนอื่นเข้ามาดู web ของเราได้จาก internet เราสามารถใช้ ngrok มาช่วยได้โดยที่ทาง Ngrok จะทำการสุ่มสร้าง URL ขึ้นมาให้เราใช้เป็นตัวแทนของ 192.168.1.2:3000 และ URL นี้จะเปลี่ยนไปทุกครั้งเมื่อมีการปิดหรือเปิดใช้งาน Ngrok

ติดตั้ง

ไปโหลดได้ที่ https://ngrok.com/download ใช้ได้ทั้งใน Mac OS, Windowns, Linux, Docker

ไปโหลดได้ที่ ngrok.com

ตั้งค่า

หลังจากติดตั้งแล้วก็ตั้งค่า ngrok

Terminal window
ngrok config add-authtoken <token>

แสดง token ทางหน้าเว็บ

token ต้องลงทะเบียน(Sign up) กับทางเว็บ ngrok ก่อนแล้ว เข้าสู่ระบบ(Login) จะแสดง token ทางหน้าเว็บ

ใช้งานด้วยคำสั่ง

Terminal window
ngrok http 3000

ใช้งานด้วยคำสั่ง

เราเอาตรง Forwarding c689-1-46-27-30.ap.ngrok.io ไปเปิดใน browser ได้เลย จะเหมือนกับเราเปิด localhost:3000

3000 คือ port ของ web เราที่ run ใน localhost:3000

พอมีการใช้ ngrok เขามี traffic บอกเราด้วย

traffic

อ่านเพิ่มเติมที่

  • https://ngrok.com/docs
© 2025 Apisit N.