Giới thiệu ngắn gọn
Chào các bạn! Trong bài viết này, mình sẽ chia sẻ về công cụ ngrok và cách sử dụng nó để trình diễn ứng dụng Rails 7. Mặc dù ngrok không chỉ dành riêng cho Rails, nhưng nó là một công cụ vô cùng hữu ích cho các lập trình viên.
Tại sao cần sử dụng ngrok?
Mình biết đến ngrok từ đầu năm nay và nhận ra rằng đây là một giải pháp tuyệt vời để demo ứng dụng mà không cần phải triển khai lên server. Trước đây, mình ít khi sử dụng ngrok và thường chọn cách triển khai ứng dụng ra môi trường thực tế. Tuy nhiên, sau một số trải nghiệm mà mình đã gặp phải:
- Môi trường triển khai không ổn định: Đôi khi, code mới của mình không tương thích với môi trường đã triển khai, dẫn đến khó khăn trong việc demo.
- Yêu cầu setup server on-premise: Trong quá trình thiết lập server, việc tạo domain và mở port có thể gặp nhiều vấn đề và phức tạp.
Vì lý do này, ngrok trở thành một lựa chọn tuyệt vời cho mình và mình sẽ hướng dẫn các bạn cách sử dụng nó.
Ngrok là gì?
ngrok là một công cụ tạo tunnel giữa máy tính của bạn (localhost) và internet. Điều này cho phép các dịch vụ chạy trên máy local của bạn có thể được truy cập từ bất kỳ đâu có kết nối mạng. Các ứng dụng của ngrok bao gồm:
- Demo ứng dụng mà không cần phải triển khai lên server.
- Kiểm tra ứng dụng trên thiết bị di động.
- Tạo và nhận webhook từ các dịch vụ bên ngoài.
- Truy cập vào các dịch vụ nội bộ từ bên ngoài.
Với phiên bản ngrok production, bạn có thể thiết lập server ở local mà không cần phải mở port thông qua nhà mạng. Bạn chỉ cần cấu hình ngrok và domain cho ứng dụng của mình.
Hướng dẫn cài đặt và sử dụng ngrok
Bước 1: Cài đặt ngrok
- Đầu tiên, bạn cần tạo tài khoản ngrok. Việc này có thể được thực hiện nhanh chóng qua tài khoản Github, Google hoặc email SSO.
- Tiếp theo, cài đặt ngrok bằng Homebrew với lệnh sau:
brew install ngrok/ngrok/ngrok
- Cuối cùng, bạn cấu hình token xác thực:
grok config add-authtoken <your_auth_token>
Bước 2: Sử dụng ngrok với Rails 7
- Mở file
config/environments/development.rb
và thêm cấu hình sau:
config.hosts << /[a-z0-9-.]+\.ngrok\.io/
config.hosts << /[a-z0-9-.]+\.ngrok-free\.app/
- Khởi động ứng dụng Rails của bạn.
- Chạy lệnh sau:
ngrok http http://localhost:3000
Khi thực hiện lệnh này, bạn sẽ thấy thông tin tunnel được khởi tạo trong terminal.
- Truy cập vào trình duyệt với đường dẫn endpoint mà ngrok cung cấp, bạn sẽ thấy ứng dụng của mình hoạt động giống như khi chạy trên local.
- Bên cạnh đó, ngrok cung cấp Traffic Inspector, nơi bạn có thể theo dõi các yêu cầu và phản hồi của ứng dụng.
Bước 3: Sử dụng domain tĩnh cho demo
Vấn đề với ngrok là các domain được tạo ra ngẫu nhiên, do đó để có một demo ổn định, bạn nên đăng ký một domain tĩnh miễn phí với tài khoản ngrok của mình.
Sau khi có domain, bạn có thể sử dụng lệnh sau để khởi động tunnel:
grok http --domain=<your_custom_domain> 3000
Lưu ý rằng nếu bạn đang sử dụng port khác, hãy điều chỉnh số port cho phù hợp với ứng dụng của mình.
Kết luận
Như vậy, ngrok là một công cụ hữu ích cho những ai cần demo ứng dụng mà không cần triển khai lên server. Hy vọng rằng bài viết này sẽ giúp bạn thiết lập và sử dụng ngrok một cách hiệu quả. Cảm ơn các bạn đã đọc bài viết này!
source: viblo