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 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 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
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
Website của bạn đang chạy với địa chỉ truy cập là http://localhost:5000
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
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 ...
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