(Bài tiếp) Vagrant

Giới thiệu và cài đặt ngrok

ngrok là một ứng dụng tạo ra một đường hầm từ máy bạn (desktop, localhost) đi qua hệ thống Firewall/Nat, giúp từ internet có thể truy cập vào máy trạm.

Bạn có thể dùng ngrok để có thể giúp từ ngoài internet truy cập vào một trang web (máy chủ http) đang chạy thử trên máy của bạn, mà không nhất thiết phải triển khai web nên một server thực sự.

ngrok

ngrok có cho macOS, Windows, Linux - tải về tại ngrok download, sau khi tải về giải nén được file ngrok (ngrok.exe trên Windows)

Để gõ được lệnh ngrok bất kỳ đầu nên copy vào một thư mục có trong biến môi trường PATH, kiểm tra các thư mục đó bằng lệnh

echo $PATH
# Trên Windows thì gõ trong PowerShell
$env:Path

Để có hướng dẫn sử dụng lệnh ngrok, gõ:

ngrok help
ngrok

ngrok cung cấp các gói: Free, Basic, Pro, Business. Trong đó gói miễn phí thì giới hạn tính năng như sau:

  • Cho tạo các đường kết nối http/tcp với Url sinh ngẫu nhiên (không chọn Url được)
  • Chỉ một tiến trình ngrok chạy trực tuyến
  • Tối đa 4 đường hầm trên tiến trình
  • 40 kết nối / phút

Bạn cần vào trang chủ https://dashboard.ngrok.com/, đăng ký và quản lý tài khoản của mình, tại đây sau khi đăng nhập, bạn vào mục Your Authtoken để lấy token đăng nhập

ngrok

Sau khi có token đăng nhập, ví dụ ở đây là 1c1H3F3ibijIQZaohho51qVxlAQ_518Pvso9gbTmhxRQ19y75, thì tiến hành gõ lệnh sau để kết nối tài khoản của bạn

ngrok authtoken 1c1H3F3ibijIQZaohho51qVxlAQ_518Pvso9gbTmhxRQ19y75

Giờ bạn đã có thể tạo ra các đường hầm để từ internet của thể truy cập đến máy bạn.

Sử dụng ngrok

Nếu trên máy bạn đang chạy một máy chủ http (đang phát triển ứng dụng web) như máy chủ apache ở cổng 80, ứng dụng node, C# ... thì bạn có thể truy cập từ internet vào ứng dụng này.

Giả sử tạo một ứng dụng NetCore (ASP NetCore) đơn giản (trên máy có .NetCore rồi) để kiểm tra, gõ các lệnh:

mkdir netcoretest
cd netcoretest/
dotnet new web
dotnet run
ngrok

Website của bạn đang chạy với địa chỉ truy cập là http://localhost:5000

ngrok

Giờ bạn muốn truy cập được đến ứng dụng này từ bên ngoài internet, thực hiện bằng cách mở cửa sổ terminal khác, gõ lệnh để tạo một đường hầm ngrok với các tham số, loại giao thức http và cổng là 5000

ngrok http 5000
ngrok

Như hình trên, đường hầm được tạo ra - nếu bạn nhấn CTRL+C sẽ kết thúc kết nối này, khi kết nối đang được duy trì, bạn có thể truy cập ứng dụng web của bạn bằng url do ngrok cung cấp như trên hình http://e8f0a167.ngrok.io

Bạn có thể truy cập địa chỉ này từ máy bất kỳ trên internet như dùng điện thoại truy cập, gửi bạn bè, gửi khách hàng kiểm tra trước ...

ngrok

Tương tự nếu web localhost của bạn chạy trên cổng khác thì thay tham số cổng vào như 3000, 80, 8080 ...

Trang ngrok Web Interface

Khi ngrok đang chạy, nó cung cấp một trang quản quản lý, giám sát cho bạn ở địa chỉ http://127.0.0.1:4040/, tại đây bạn có thể biết các thông số, các kết nối đến web của bạn

Đặt user/password khi của cập

Bạn có thể yêu cầu bên ngoài internet truy cập cần nhập user, password bằng cách chạy lại lệnh, với tham số sau (ví dụ tên là name, password là pass):

ngrok http -auth "name:pass" 5000

Các kết nối tcp thực hiện tương tự. Ví dụ, để mở kết nối MySQL trên máy bạn, để kết nối từ bên ngoài được thị gõ

ngrok tcp 3306
Đăng ký theo dõi ủng hộ kênh
(Bài tiếp) Vagrant