Ngrok là một công cụ miễn phí và có trả phí cho phép bạn chuyển tiếp kết nối từ Internet vào một máy tính hoặc máy chủ cục bộ của mình. Điều này cho phép bạn truy cập vào máy tính của mình từ bất kỳ đâu trên thế giới mà không cần phải đối mặt với các vấn đề về mạng, tường lửa hoặc địa chỉ IP động.
Ngrok hoạt động bằng cách tạo một kết nối an toàn giữa máy tính của bạn và các máy chủ của ngrok trên Internet. Khi bạn chạy ngrok, nó sẽ cung cấp cho bạn một địa chỉ URL công khai, cho phép bạn truy cập vào máy tính của mình từ bất kỳ đâu trên thế giới.
Ngrok có thể được sử dụng cho nhiều mục đích khác nhau, bao gồm phát triển web, kiểm thử ứng dụng và chia sẻ nội dung với người khác. Nó có thể được cài đặt và sử dụng trên nhiều nền tảng khác nhau, bao gồm Windows, Mac và Linux.
Sau đây là các bước để sử dụng được Ngrok.
Bước 1: Đăng ký tài khoản Ngrok tại trang chủ của nó.
Truy cập vào https://dashboard.ngrok.com/login.
Tôi sử dụng phương pháp Log in with Google cho nó nhanh. Sau khi login được vào trang Ngrok bạn hãy bấm Setup & Installation (1) -> Linux (2) -> Copy Link Address (3).
Bước 2: Tải xuống và cài đặt Ngrok trên máy tính của bạn.
Sau khi đã lấy được link tải ở bước trên, mình vào server đang chạy Ubuntu tiến hành download file này về bằng lệnh wget <url đã lấy được ở trên>
.
$ wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz
--2023-05-15 07:11:46-- https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz
Resolving bin.equinox.io (bin.equinox.io)... 54.237.133.81, 54.161.241.46, 52.202.168.65, ...
Connecting to bin.equinox.io (bin.equinox.io)|54.237.133.81|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8724838 (8.3M) [application/octet-stream]
Saving to: ‘ngrok-v3-stable-linux-amd64.tgz’
ngrok-v3-stable-linux-amd64.tgz 100%[=============================================================================>] 8.32M 2.90MB/s in 2.9s
2023-05-15 07:11:50 (2.90 MB/s) - ‘ngrok-v3-stable-linux-amd64.tgz’ saved [8724838/8724838]
Như vậy bạn đã tải thành công file nén Ngrok.
$ ll | grep ngrok-v3
-rw-r--r-- 1 root root 8724838 May 15 07:11 ngrok-v3-stable-linux-amd64.tgz
Tôi tiến hành giải nén file này và di chuyển nó vào thư mục /usr/local/bin/
tar -xvf ngrok-v3-stable-linux-amd64.tgz
mv ngrok /usr/local/bin/
Xác minh file ngrok đã tồn tại trong thư mục /usr/local/bin/.
$ ll /usr/local/bin/ | grep ngrok
-rwxr-xr-x 1 root root 24219648 May 10 17:40 ngrok*
Bây giờ nếu bạn sử dụng lệnh ngrok -help, bạn đã có thể truy cập vào các gợi ý của Ngrok rồi.
$ ngrok -help
NAME:
ngrok - tunnel local ports to public URLs and inspect traffic
USAGE:
ngrok [command] [flags]
DESCRIPTION:
ngrok exposes local networked services behinds NATs and firewalls to the
public internet over a secure tunnel. Share local websites, build/test
webhook consumers and self-host personal services.
Detailed help for each command is available with 'ngrok help <command>'.
Open http://localhost:4040 for ngrok's web interface to inspect traffic.
Author:
ngrok - <support@ngrok.com>
TERMS OF SERVICE: https://ngrok.com/tos
EXAMPLES:
ngrok http 80 # secure public URL for port 80 web server
ngrok http --domain baz.ngrok.dev 8080 # port 8080 available at baz.ngrok.dev
ngrok http foo.dev:80 # tunnel to host:port instead of localhost
ngrok http https://localhost # expose a local https server
ngrok tcp 22 # tunnel arbitrary TCP traffic to port 22
ngrok tls --domain=foo.com 443 # TLS traffic for foo.com to port 443
ngrok start foo bar baz # start tunnels from the configuration file
COMMANDS:
api use ngrok agent as an api client
completion generates shell completion code for bash or zsh
config update or migrate ngrok's configuration file
credits prints author and licensing information
diagnose diagnose connection issues
help Help about any command
http start an HTTP tunnel
service run and control an ngrok service on a target operating system
start start tunnels by name from the configuration file
tcp start a TCP tunnel
tls start a TLS tunnel
tunnel start a tunnel for use with a tunnel-group backend
update update ngrok to the latest version
version print the version string
OPTIONS:
--config strings path to config files; they are merged if multiple
-h, --help help for ngrok
-v, --version version for ngrok
ERROR: unknown shorthand flag: 'e' in -elp
Bước 3: Thêm token.
Bạn vào Your Authtoken và tiến hành copy token mà Ngrok cung cấp cho bạn.
Mở cửa sổ dòng lệnh (Command Prompt trên Windows hoặc Terminal trên macOS/Linux) và đăng nhập vào tài khoản Ngrok của bạn bằng lệnh config add-authtoken <your_authen_token>:
$ ngrok config add-authtoken 2AvG5MM7NFylIRMnqyKeva2jrxk_7QjGQ6Rr8kuURMJi7A17r
Authtoken saved to configuration file: /root/.config/ngrok/ngrok.yml
Trong đó, <your_auth_token>
là mã thông báo xác thực Ngrok của bạn đã lấy được ở phần trên.
Bước 4: Public port 8080.
Giả sử trong local mình có server chạy port 8080 có url http://192.168.13.220:8080/stats
Bây giờ mình sử dụng Ngrok để public port 8080 ra internet mà không cần sử dụng tính năng NAT trên route bằng lệnh ngrok http <port muốn public>
.
ngrok http 8080
Nếu chạy thành công thì bạn nhận được các thông tin như sau:
Announcing ngrok-go: The ngrok agent as a Go library: https://ngrok.com/go
Session Status online
Account hoanghd164@gmail.com (Plan: Free)
Version 3.3.0
Region Asia Pacific (ap)
Latency -
Web Interface http://127.0.0.1:4040
Forwarding https://d75b-115-79-213-185.ngrok-free.app -> http://localhost:8080
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
Nó sẽ tạo một kết nối đến port 8080 trên máy tính của bạn và cung cấp một đường dẫn URL công khai cho bạn truy cập vào đó từ bất kỳ đâu trên Internet. Bạn có thể truy cập vào đường dẫn URL này để xác nhận rằng port 8080 của bạn đã được public thành công.
Lưu ý rằng khi bạn sử dụng Ngrok, nó sẽ tạo ra một đường dẫn URL ngẫu nhiên mỗi khi bạn chạy nó, do đó bạn cần thay đổi đường dẫn URL trong ứng dụng của mình sau mỗi lần chạy Ngrok. Ngoài ra, Ngrok chỉ hoạt động trong thời gian giới hạn nếu bạn sử dụng phiên bản miễn phí, vì vậy nếu bạn muốn sử dụng Ngrok lâu dài, bạn cần đăng ký gói trả phí.
Bạn hãy sử dụng url mà Ngrok cung cấp https://d75b-115-79-213-185.ngrok-free.app
sau đó thêm vào prefix /stats
như trong url của local là https://d75b-115-79-213-185.ngrok-free.app/stats
.
Hãy bấm vào Visit Site để truy cập vào website của bạn. Lưu ý, do bạn đang sử dụng bản miễn phí nên bạn sẽ phải nhận trang quảng cáo như dưới, nếu bạn sử dụng bản trả phí thì bạn sẽ vào thẳng website của bạn và được sử dụng tên miền theo ý bạn nhé.
Và đây là kết quả.
Lưu ý nếu bạn ngắt phiên chạy của Ngrok thì quá trình tunnel sẽ kết thúc, do vậy bạn hãy sử dụng một tính năng chạy nền cho Ngrok nhé.