Hướng Dẫn Cấu Hình Proxy Ngược Ngrok Trên ServBay
Ngrok là một công cụ mạnh mẽ cho phép bạn công khai an toàn các dịch vụ Web đang chạy trên máy tính của mình ra Internet. Nhờ việc tích hợp sẵn Ngrok trong ServBay, bạn có thể dễ dàng tạo một đường dẫn truy cập công khai bảo mật cho website phát triển local, rất phù hợp cho demo dự án, kiểm thử Webhook hoặc chia sẻ sản phẩm với đồng nghiệp bên ngoài nhóm. Hướng dẫn này sẽ chỉ bạn từng bước cấu hình và sử dụng dịch vụ proxy ngược Ngrok trên ServBay.
Tổng Quan
ServBay hỗ trợ tích hợp Ngrok sẵn có, giúp đơn giản hóa quá trình cài đặt và cấu hình. Bạn có thể quản lý các tunnel Ngrok ngay trên giao diện đồ họa của ServBay, ánh xạ bất kỳ website local host trên ServBay thành một URL tạm thời công khai.
Các Trường Hợp Sử Dụng Phổ Biến
- Trình diễn với khách hàng: Demo website đang phát triển chạy trên máy tính cá nhân cho khách hàng.
- Phát triển Webhook: Kiểm thử dịch vụ bên thứ ba yêu cầu callback URL công khai (ví dụ: cổng thanh toán, API).
- Kiểm thử ứng dụng di động: Cho phép thiết bị di động truy cập API backend local thông qua URL công khai.
- Hợp tác phát triển: Chia sẻ nhanh môi trường phát triển local cho thành viên nhóm khác.
Điều Kiện Tiên Quyết
- Đã cài đặt ServBay: Đảm bảo bạn đã cài đặt và khởi chạy ServBay trên macOS của mình.
- Có tài khoản Ngrok: Bạn cần một tài khoản Ngrok. Truy cập trang chủ Ngrok để đăng ký tài khoản miễn phí hoặc trả phí.
- Có website local: Đã thêm và chạy ít nhất một website local trên ServBay, ví dụ
servbay.demo
.
Các Bước Thực Hiện
1. Cài Đặt Gói Ngrok Trong ServBay
Trước khi sử dụng, bạn cần cài đặt gói Ngrok trong ServBay:
- Mở ứng dụng ServBay.
- Trong thanh điều hướng bên trái, chọn Phần mềm (Packages).
- Tìm hoặc nhập để tìm
Ngrok
trong danh sách phần mềm. - Nhấn nút cài đặt cạnh tên
Ngrok
. - Sau khi cài đặt, thử nhấn nút bật/tắt cạnh
Ngrok
. Vì chưa cấu hình Ngrok nên dịch vụ có thể sẽ báo lỗi hoặc trạng thái bất thường, điều này là bình thường. Ta sẽ cấu hình trong bước tiếp theo.
2. Lấy Authtoken Ngrok Của Bạn
Ngrok sử dụng Authtoken để xác thực tài khoản và cấp quyền sử dụng dịch vụ.
Truy cập Ngrok Dashboard và đăng nhập tài khoản Ngrok của bạn.
Sau khi đăng nhập, nhìn vào menu bên trái chọn Your Authtoken (phần "Getting Started" -> "Your Authtoken").
Sao chép Authtoken – đó là một chuỗi ký tự dài, vui lòng giữ bảo mật.
3. Cấu Hình Ngrok Trên ServBay
Sau khi đã lấy Authtoken, quay lại ServBay để cấu hình:
Tại thanh điều hướng bên trái ServBay, chọn Tunnel.
Trong danh sách dịch vụ Tunnel, chọn ngrok.
Auth Token (Mã xác thực):
- Dán Authtoken bạn vừa copy vào ô nhập
Auth Token
.
- Dán Authtoken bạn vừa copy vào ô nhập
Cấu hình tunnel (Local Domain và External Domain): ServBay cho phép tạo tunnel Ngrok cho nhiều website local.
- Local Domain (Trang web local):
- Nhấn menu thả xuống để chọn website local bạn muốn công khai qua Ngrok. Danh sách này tự động liệt kê các website đã thêm trên ServBay như
servbay.test
hoặcservbay.demo
.
- Nhấn menu thả xuống để chọn website local bạn muốn công khai qua Ngrok. Danh sách này tự động liệt kê các website đã thêm trên ServBay như
- External Domain (Tên miền bên ngoài):
- Với tài khoản miễn phí Ngrok: Để trống trường này. Ngrok sẽ tự động tạo URL công khai ngẫu nhiên kết thúc bằng
.ngrok-free.app
(hoặc hậu tố miễn phí khác), ServBay sẽ hiển thị URL vừa tạo sau khi tunnel được bật thành công. - Với tài khoản Ngrok trả phí: Nếu bạn đã cấu hình tên miền tuỳ chỉnh hoặc tên miền riêng trên Ngrok, có thể nhập tên miền mong muốn tại đây.
- Với tài khoản miễn phí Ngrok: Để trống trường này. Ngrok sẽ tự động tạo URL công khai ngẫu nhiên kết thúc bằng
- Local Domain (Trang web local):
Thêm tunnel khác:
- Nếu muốn thêm tunnel cho nhiều website local, nhấn nút
+
(dấu cộng) cạnh các cấu hình tunnel hiện tại. Lặp lại bước 4 để chọn website và cấu hình tên miền ngoài cho tunnel mới.
- Nếu muốn thêm tunnel cho nhiều website local, nhấn nút
Lưu cấu hình:
- Sau khi hoàn tất, nhấn nút Save (Lưu) ở góc phải bên dưới để lưu thay đổi.
4. Khởi Động Và Kiểm Tra Dịch Vụ Ngrok
- Sau khi lưu, ServBay sẽ cố gắng khởi động Ngrok với cấu hình mới.
- Quan sát đèn trạng thái cạnh dịch vụ
ngrok
. Nếu cấu hình hợp lệ và kết nối thành công, đèn sẽ chuyển sang xanh, báo hiệu dịch vụ đang chạy ổn định. - Ở mỗi tunnel đã bật thành công, trường
External Domain
(nếu trước đó để trống) sẽ hiện URL công khai do Ngrok cấp phát. - Kiểm tra truy cập:
- Nhấn vào biểu tượng copy cạnh tên miền ngoài để sao chép URL chia sẻ.
- Hoặc nhấn biểu tượng trình duyệt (một chiếc la bàn hoặc trái đất) để mở trực tiếp URL công khai trên trình duyệt mặc định.
- Website local của bạn sẽ truy cập được qua URL Ngrok này nếu mọi thứ đã sẵn sàng.
5. Quản Lý Tunnel Ngrok
Trên giao diện cấu hình Ngrok của ServBay:
- Sao chép tên miền ngoài: Nhấn biểu tượng sao chép để thuận tiện chia sẻ đường dẫn.
- Mở trình duyệt kiểm thử: Nhấn biểu tượng trình duyệt để kiểm tra nhanh.
- Thêm tunnel mới: Nhấn biểu tượng
+
. - Xoá tunnel: Nhấn biểu tượng
-
(dấu trừ) để loại bỏ cấu hình tunnel không còn dùng. - Tắt dịch vụ: Gạt công tắc bên cạnh dịch vụ
ngrok
để tắt toàn bộ dịch vụ Ngrok. Bật lại để khởi động lại.
Lưu Ý
- Giới hạn của Ngrok bản miễn phí: Tên miền ngoài do bản miễn phí tạo ra là ngẫu nhiên và thay đổi sau mỗi lần khởi động lại dịch vụ hoặc tunnel. Phiên bản miễn phí cũng giới hạn số lượng kết nối, băng thông và thời gian sử dụng. Nếu cần tên miền cố định và nhiều tính năng nâng cao, hãy cân nhắc nâng cấp tài khoản Ngrok trả phí.
- Tình trạng website local: Đảm bảo website bạn chọn trong
Local Domain
đang chạy bình thường trên ServBay (ví dụ đúng phiên bản PHP, webserver Nginx/Apache đã bật, cấu hình website đúng). Ngrok chỉ chuyển tiếp lưu lượng, không thể tự khởi động hay chỉnh sửa dịch vụ local của bạn. - Tường lửa: Kiểm tra MacOS firewall hoặc phần mềm bảo mật không ngăn kết nối mạng của ServBay hoặc Ngrok.
- HTTPS: Ngrok luôn cung cấp HTTPS mặc định cho các tunnel, rất hữu ích khi phát triển web hiện đại và kiểm thử.
Câu Hỏi Thường Gặp (FAQ)
- Q: Ngrok không khởi động được, đèn báo màu đỏ/cam phải làm sao?
- A: Hãy kiểm tra đã nhập đúng Authtoken của Ngrok chưa. Sau đó xác nhận kết nối mạng ổn định và truy cập được trang chủ Ngrok. Xem log (biểu tượng nhật ký cạnh dịch vụ) để biết chi tiết lỗi.
- Q: Tôi là người dùng miễn phí, tại sao trường
External Domain
để trống hoặc ghi “Leave blank if you're a free user”?- A: Đây là bình thường. Người dùng miễn phí không cần điền trường này. Sau khi tunnel khởi động, ServBay sẽ tự lấy URL công khai từ Ngrok và gán vào trường này.
- Q: Có thể dùng Ngrok đồng thời với các dịch vụ tunnel khác (frp, Cloudflared) không?
- A: ServBay hỗ trợ cài đặt và cấu hình nhiều dịch vụ tunnel. Bạn có thể sử dụng một hoặc nhiều dịch vụ song song tùy nhu cầu. Tuy nhiên, khi bật nhiều tunnel công khai cùng lúc cho cùng một website có thể phát sinh cấu hình phức tạp hoặc xung đột, hãy thao tác cẩn trọng và kiểm tra đường đi mạng hợp lý.
Tổng Kết
Việc tích hợp Ngrok vào ServBay giúp lập trình viên web đơn giản hóa quá trình công khai môi trường phát triển local lên Internet trên macOS. Dù là demo nhanh, kiểm thử Webhook hay hợp tác phát triển, tính năng Ngrok trên ServBay đều là giải pháp tiện lợi, hiệu quả. Hãy nhớ cấu hình tên miền ngoài phù hợp theo loại tài khoản Ngrok (miễn phí hoặc trả phí) và luôn chắc chắn dịch vụ local của bạn hoạt động ổn định.