Ngrok là gì?
Ngrok là công cụ tạo đường hầm (tunnel) giữa localhost của bạn và internet. Giúp các thiết bị có kết nối internet có thể truy cập được localhost của bạn thông qua custom domain của ngrok Ví dụ: ngrokdoamain => localhost:8080
Ngrok giúp gì cho bạn
- Giúp bạn chạy demo dự án cho khách hàng xem từ chính máy của bạn mà không cần deploy lên server
- Bạn có thêm cách test responsive trên smart phone một cách dễ dàng thông qua URL mà ngrok cung cấp
- Hỗ trợ http, https, tcp
- Hỗ trợ IP whitelist
Chi phí sử dụng
Ngrok hiện tại gồm 1 gói free và 3 gói trả phí. Gói free cung cấp các tiện ích sau:
- Subdomain ngẫu nhiên
- Giới hạn 4 tunnel / 1 process
- Giới hạn 40 connections / 1 phút
- Phục vụ các ứng dụng HTTP, webhook và API
- Chứng chỉ SSL/TLS tự động
- Hạn chế quyền truy cập vào các dịch vụ của bạn bằng OAuth
- Xác minh bảo mật webhook
- Yêu cầu kiểm tra & phát lại
- Băng thông và cách sử dụng bị hạn chế
- Hỗ trợ email miễn phí Xem thêm tại
Sử dụng thôi
1. Cài đặt: (ở đây mình dùng ubuntu nhé)
curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list && sudo apt update && sudo apt install ngrok
Sau đó vào trang này để đăng kí https://dashboard.ngrok.com/signup
Nhận được email xác thực và tới trang https://dashboard.ngrok.com/get-started/your-authtoken để lấy token
Copy lệnh sau để chạy ngrok config add-authtoken your_token
Xong xuôi thì test thử với lệnh ngrok http 80
Xem đầy đủ hướng dẫn cài đặt cho các hệ điều hành khác tại đây
2. Sử dụng
Cùng tạo thử 1 chương trình nhỏ trên máy local của bạn nhé
mkdir test-ngrok && cd test_ngrok && touch index.html
echo "Hello Ngrok!" > index.html
php -S localhost:1111
Trên chrome sẽ thấy kết quả sau:
Để forward sang Ngrok bạn chỉ cần sử dụng lệnh sau:
ngrok http 1111
Kết quả là :
Giờ bạn có thể truy cập vào chương trình trên bằng smart-phone thông qua url : https://4f5c-58-186-165-118.ngrok-free.app
Khá là đơn giản. Đối với dự án khác cũng tưng tự.
Ngrok còn rất nhiều chức năng hay khác. Các bạn có thể gõ lệnh ngrok --help
để tìm hiểu thêm nhé ^^