เคยหรือไม่ที่พอเราเขียนโปรแกรมสักตัวในเครื่องแล้วอยากให้มันออนไลท์เลยเพื่อให้คนอื่นได้เข้ามาทดสอบ เช่น เขียน API อยู่ในเครื่อง แล้วอยากให้เพื่อนเราที่ทำหน้าเว็บต่อกับ API เราได้เลย โดยไม่ต้องรอ deploy ขึ้น server จริง
ปัญหาแบบนี้เกิดบ่อยมากในทีมผม ซึ่งในปกติเวลาน้องทำแอพพลิเคชั่น หรือฟังชั่นขึ้นมาสักตัว เพื่อให้น้องอีกคนที่ทำหน้าบ้านทดสอบเชื่อมระบบ พวกน้องก็ต้องให้ผมค่อยทำระบบ deploy ขึ้น server จริงให้ ผมว่ามันจะเสียเวลาที่ต้องรอผมทำให้
เป็นเครื่องมือที่ทำให้แอพพลิเคชั่นที่เราพัฒนาอยู่ในเครื่องสามารถ online ได้นั่นเอง
สามารถโหลดได้ที่ https://ngrok.com/download สำหรับคนที่ใช้ Linux หรือ MacOSX เราจะได้ไฟล์ .zip
ให้ทำการแตกไฟล์ไว้ที่ไหนก็ได้ เพื่อเรียกใช้งาน ยกตัวอย่างของผมใช้ Linux ก็จะวางไว้ ~/Download/
ผมมีแอพพลิเคชั่นที่ทำด้วย Nodejs แล้วเรียกใช้งานดังนี้
$ node index.js
Example app listening at http://:::8081
$ curl http://localhost:8081
Twin Synergy
ผมลองทดสอบด้วย curl มาที่ http://localhost:8081
จะได้คำว่า Twin synergy
ออกมา คราวนี้ผมอยากให้แอพพลิเคชั่นตัวนี้ผม online เพื่อให้คนอื่นเรียกใช้งาน ก็ให้ใช้คำสั่ง
$ cd ~/Download/
$ chmod +x ngrok
$ ./ngrok http 8081
chmod +x
คือการเพิ่มสิทธิ์ให้เราสามารถเรียกใช้งาน ngrok ได้ สั่งครั้งแรกครั้งเดียวพอ ครั้งต่อไปสามารถเรียกใช้งาน ngrok ได้เลย./ngrok
เรียกใช้งาน ngrokhttp 8081
เป็นการเชื่อมโย่งให้ http port 8081 บนเครื่องเราส่งออกไปเป็น url จริงหลังจากเรียกแล้วจะแสดงผลแบบนี้
ngrok by @inconshreveable
Session Status online
Session Expires 7 hours, 55 minutes
Update update available (version 2.3.34, Ctrl-U to update)
Version 2.2.8
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding http://20fd198d.ngrok.io -> localhost:8081
Forwarding https://20fd198d.ngrok.io -> localhost:8081
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
เราจะได้ url ทั้งที่เป็น http กับ https มาสามารถเรียกใช้งานได้เลย!!!
เราก็เอา url ไปให้คนที่ต้องการให้ทดสอบได้เลย…