Ngrok ทำเครื่องเรา online ได้โครตง่าย ฟรีด้วย02 August 2019DevOps

Ngrok ทำเครื่องเรา online ได้โครตง่าย ฟรีด้วย

เคยหรือไม่ที่พอเราเขียนโปรแกรมสักตัวในเครื่องแล้วอยากให้มันออนไลท์เลยเพื่อให้คนอื่นได้เข้ามาทดสอบ เช่น เขียน API อยู่ในเครื่อง แล้วอยากให้เพื่อนเราที่ทำหน้าเว็บต่อกับ API เราได้เลย โดยไม่ต้องรอ deploy ขึ้น server จริง

ปัญหาแบบนี้เกิดบ่อยมากในทีมผม ซึ่งในปกติเวลาน้องทำแอพพลิเคชั่น หรือฟังชั่นขึ้นมาสักตัว เพื่อให้น้องอีกคนที่ทำหน้าบ้านทดสอบเชื่อมระบบ พวกน้องก็ต้องให้ผมค่อยทำระบบ deploy ขึ้น server จริงให้ ผมว่ามันจะเสียเวลาที่ต้องรอผมทำให้

Ngrok คืออะไร

เป็นเครื่องมือที่ทำให้แอพพลิเคชั่นที่เราพัฒนาอยู่ในเครื่องสามารถ online ได้นั่นเอง

Ngrok diagram
Ngrok diagram

ดาวโหลด Ngrok

สามารถโหลดได้ที่ 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 เรียกใช้งาน ngrok
  • http 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 มาสามารถเรียกใช้งานได้เลย!!!

ngrok online
ngrok online

เราก็เอา url ไปให้คนที่ต้องการให้ทดสอบได้เลย…

ก่อนหน้า
ถัดไป