IT Security
อยากเปิด web service เพื่อออกเน็ตแต่ไม่มี IP จริงหรือ Public IP ngrok ช่วยได้

อยากเปิด web service เพื่อออกเน็ตแต่ไม่มี IP จริงหรือ Public IP ngrok ช่วยได้

ยกตัวอย่างเรามี เครื่องสำหรับเปิดให้บริการ web api หรือ web service อยู่ในวงแลน ก็ใช้ได้เฉพาะภายใน LAN เท่านั้น
แต่ถ้าอยากจะให้ออกเน็ตได้ ก็ต้องมี IP Public หรือ IP จริง  ที่จะสามารถออกเน็ตได้เลย แต่ก็ต้องเช่าผู้ให้บริการ TOT , Cat หรือผู้ที่ให้บริการ ก็ต้องเสียค่าใช้จ่ายเพิ่มขึ้น

ngrok ช่วยได้  มาดูว่ามันทำงานยังไง ?



ดาวโหลดได้ที่เว็บ  https://ngrok.com/

ngrok คือ เครื่องมือที่ช่วยให้เครื่องคอมทั่วไป สามารถออกเน็ตได้เลย โดยสามารถให้คนอื่นๆ ทั่วโลกสามารถเข้ามาใช้งานเว็บหรือแอพพลิเคชันของเราได้ผ่านเครื่องที่รันอยู่บน localhost นั้นเอง
เข้าใจแบบบ้านๆ คือ  จะทำให้เครื่องคอมฯ ธรรมดา ที่เป็น ip ในวงแลน ธรรมดา ให้ออกเน็ตได้ โดยผ่าน ngrok นั้นเอง ไม่ต้องใช้ DDNS หรือ NoIP  ก็ทำได้

โดยตัวของ ngrok จะทำการสุ่มสร้าง URL ขึ้นมาให้เรา  เช่น aanntt.ngrok.io   แต่มันจะเปลี่ยนไปหากเราไปปิดแล้วเปิดใช้งาน ngrok ใหม่  URL ก็จะถูกสร้างใหม่ไปเรื่อยๆ  (สามารถ Fix ชื่อได้ แต่ต้องเสียเงินจ่ายรายเดือน)

ยกตัวอย่าง ผมมีเครื่องที่ลง Linux อยู่มี web service อยู่แล้ว

– ip 192.168.1.123   ให้บริการเว็บ ภายใน วงแลน เท่านั้น
ต่อมาก็ดาวโหลด ngrok มาแล้วแตกไฟล์ออก

– เลือกเวอชัน Linux
– ดาวโหลด แล้วโอนไฟล์ไปเก็บยัง server linux

– เข้า putty เพื่อรีโมทไปยัง server 192.168.1.123
– แตกไฟล์ ngrok-stable-linux-amd64.zip ออกมา

– ทดสอบเปิดใช้งาน พิมพ์คำสั่ง ./ngrok http 80   แล้วกด enter

– ก็จะขึ้นหน้าจอ monitor แสดงให้เรานำไปใช้

– พอเราเอา URL นี้ไปเปิดที่ browser ก็จะได้ผลตามนี้

– ก็จะสามารถออกเน็ตได้แล้ว ลองเปิดผ่านมือถือ หรือเครื่องที่อยู่วงแลนอื่น ก็สามารถเข้าถึงได้
– ก็แค่จำ URL นี้นำไปใช้งานได้เลย

– หรือหากเราใช้ nodejs เปิด api ที่เราทำขึ้น ก็แค่ระบุ port ก็สามารถออกเน็ตได้เช่นกัน คำสั่งคือ
ngrok http 3002
เป็นต้น

ข้อเสียของ ngrok  คือ มันสามารถให้คนอื่นๆเข้าถึงเครื่อง localhost เราได้ก็ถ้าหากเราจัดการระบบ permission ไม่ดีพอ ก็อาจจะตกเป็นช่องทางให้ผู้ไม่หวังดีแอบทำอะไรกับเครื่องเราก็ได้  ดังนั้นควรเปิด port และกำหนด security permission ให้รับกุม นะครับ

ข้อดี ของ ngrok คือ
– ใช้สำหรับทดสอบ แอพพลิเคชันผ่านมือถือ
– ใช้สำหรับ demo งานที่อยู่บนเครื่องเราก่อนที่จะนำไปใช้งานจริงๆ ประหยัดงบไม่ต้องเช้า cloud หรือ hosting รายปี
– เหมาะสำหรับ นักพัฒนามือใหม่ เพื่อทดสอบ api และยังมี  web interface ให้เรา monitor พวก request เพื่อ debug แก้ไขได้ด้วย

– สามารถใช้งานผ่าน port 4040 เพื่อ monitor เราได้

– หากต้องการให้ fix ชื่อ URL ก็มีค่าใช้จ่ายรายเดือนให้เลือกครับ





– เอาตามที่เราอยากจะใช้นะครับ  เลือกตามความเหมาะสมของงานที่จะใช้จริงๆ

ก็ลองเอาไปเล่นดูนะครับ จะได้ประหยัดงนไม่ต้องเช่า IP จริง หรือ ไปเช่น hosting หรือ cloud
มีอะไรใหม่ๆ น่าเล่น ผมจะเอามาลงใน blog ให้อ่านกันนะครับ
แล้วพบกันใหม่ครับ

Loading

1 thought on “อยากเปิด web service เพื่อออกเน็ตแต่ไม่มี IP จริงหรือ Public IP ngrok ช่วยได้

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

This site uses Akismet to reduce spam. Learn how your comment data is processed.