Giới thiệu về ngrok

  1. Công nghệ thông tin

Có bao giờ bạn tự hỏi làm sao một website đang run trên local có thể public lên internet? Cách truyền phổ biến nhất đấy là cấu hình máy local thành IP tĩnh, tuy nhiên cách này khá phức tạp và chi phí lại tốn kém. Hôm nay mình sẽ giới thiệu tới mọi người một công cụ đục lỗ giúp giải quyết vấn đề mình vừa nêu trên đây đó chính là ngrok.

Giải sử mình có 1 website viết bằng python đơn giản như sau:

from flask import Flask app = Flask(__name__) @app.route('/') def helloIndex():return 'Hello World. I am Hung!!' app.run(host='0.0.0.0', port= 8080)
Sau đấy mình tiến hành run đoạn chương trình trên và truy cập vào địa chỉ 127.0.0.1:8080 thu được hello world ^^

Nào bây giờ mình muốn bạn mình ở bên mẽo xem được website này thì phải làm như nào nhỉ? Không lẽ mình phải mua con server hay host rồi deploy lên, như vậy thì lâu và tốn tiền lắm, mình nghèo mình tìm ngon bổ rẻ cơ.

Để giải quyết vấn đề đấy mình chọn ngrok, và tiến hành cài đặt ngrok trên ubuntu 16.04 (mình đang dùng hệ điều hành này nên các thao tác của mình giới thiệu trong bài này đều trên ubuntu 16.04)

Truy cập vào ngrok sau đấy vào dowload hiện thị ra một giao diện khá đơn giản nhưng theo mình thấy trải nghiệm khá tốt.

Screenshot from 2018-11-09 22-57-25

Ở trang chủ ngrok đã có step to step để có thể cài đặt và sử dụng ngrok, mình chỉ việc làm theo thôi hehe:))

Đầu tiên mình tải ngrok về, sau đấy giải nén 2 bước này quá easy. Tiếp theo mình bật terminal lên và thực thi lệnh

$ ./ngrok authtoken <TOKEN>

trong đấy <TOKEN> bạn có được bằng cách login ngrok ở bước số 3 trên trang chủ của ngrok hiển thị sẵn token bạn chỉ việc copy and paste thôi. Sau khi chạy lệnh này ta thu được kết quả

Screenshot from 2018-11-10 11-31-49

Vậy là mình cùng các bạn đã cài đặt thành công con đục lỗ ngrok vào máy. Bây giờ đi khám phá thôi nào. Đầu tiên chắc chắn chúng ta phải khám phá doccument của ngrok, ở đây mình đi cách "help"

Screenshot from 2018-11-10 11-38-07

Cũng khá nhiều lệnh nhưng mình thấy ở Examples có lệnh ngrok http 80 mình sẽ thử với chương trình của mình xem sao nhưng ở phía trên mình đang chạy với cổng 8080. Vậy là mình run lệnh ngrok http 8080 và cái kết thật bất ngờ^^

Screenshot from 2018-11-10 11-34-21

Mình thu được link forwarding và làm gì với link này nhỉ? Thử đổi sang wifi hàng xóm xem sao. Ồ nó vẫn hoạt động nghĩa là website của mình đã ở trên internet. p/s tất nhiên wifi hàng xóm và wifi nhà mình khác nhau.

Vậy là mình đã public thành công website helloworld trên internet. Về nguyên lý hoạt động của ngrok đấy chính là sử dụng cách đục lỗ, Mình sẽ tìm hiểu kỹ hơn về cách đục lỗ và giới thiệu vào một dịp khác. Bài viết dựa trên kinh nghiệm bản thân rất mong nhận được sự góp ý của mọi người cùng nhau xây dựng cộng đồng noron!!

À mình lưu ý là link forwarding này không vĩnh viễn đâu nhé. Mỗi khi bạn run lại chương trình và chạy lại ngrok thì sẽ có link forwarding mới.

Screenshot from 2018-11-09 22-52-57
Từ khóa: 

network

,

công nghệ thông tin