Hướng Dẫn Cấu Hình Dịch Vụ Cloudflared (Cloudflare Tunnel) trong ServBay
Cloudflared là một công cụ mạnh mẽ được cung cấp bởi Cloudflare, cho phép bạn bảo mật xuất bản các dịch vụ web local của mình ra Internet công cộng qua mạng lưới toàn cầu của Cloudflare mà không cần mở cổng tường lửa hay cấu hình mạng phức tạp. Thông qua Cloudflare Tunnel, bạn có thể đảm bảo mã hóa HTTPS, chống DDoS và hưởng các lợi ích về hiệu suất của CDN từ Cloudflare cho các dự án phát triển local. ServBay tích hợp sẵn Cloudflared, giúp đơn giản hóa quá trình cấu hình và quản lý trên macOS.
Hướng dẫn này sẽ trình bày từng bước cách thiết lập và sử dụng Cloudflared Tunnel trong ServBay.
Tổng quan
Sự tích hợp giữa ServBay và Cloudflared giúp các lập trình viên dễ dàng kết nối website local được host trên ServBay đến mạng lưới Cloudflare. Điều này đồng nghĩa bạn có thể sử dụng tên miền phụ tùy chỉnh (ví dụ test.yourdomain.com
) để truy cập môi trường phát triển local của mình từ bất cứ đâu.
Các trường hợp sử dụng
- Demo chuyên nghiệp: Trình diễn thành quả phát triển local cho khách hàng hoặc nhóm của bạn bằng tên miền thương hiệu riêng.
- Kiểm thử bên ngoài ổn định: Cung cấp điểm truy cập ổn định cho các bài test API, webhook hoặc tích hợp dịch vụ ngoài cần URL công khai lâu dài.
- Khai thác hệ sinh thái Cloudflare: Hưởng lợi về bảo mật (như WAF, quản lý bot) và hiệu suất (như cache CDN, Argo Smart Routing - nếu có).
- Thay thế DDNS truyền thống: Cung cấp tên miền public ổn định cho dịch vụ local ngay cả khi IP đổi động.
Điều kiện tiên quyết
- Đã cài đặt ServBay: Đảm bảo bạn đã cài và chạy thành công ServBay trên macOS.
- Tài khoản Cloudflare: Bạn cần có tài khoản Cloudflare hợp lệ.
- Tên miền được quản lý: Bạn phải sở hữu một tên miền đã kích hoạt và quản lý DNS bởi Cloudflare trong tài khoản của mình (ví dụ
yourdomain.com
). Cloudflared sẽ tạo subdomain trên tên miền này. - Cài đặt Cloudflare Zero Trust: Bạn cần tạo một tổ chức (Team) trong Cloudflare Zero Trust Dashboard để sử dụng Cloudflare Tunnel.
- Truy cập Cloudflare Zero Trust Dashboard.
- Nếu chưa có, làm theo hướng dẫn để đặt tên nhóm (Team name). Thông thường quy trình này miễn phí.
- Website local: Đã thêm và chạy ít nhất một website local trong ServBay (ví dụ
servbay.demo
).
Các bước thực hiện
1. Cài đặt Cloudflared trong ServBay
- Mở ứng dụng ServBay.
- Ở thanh điều hướng bên trái, chọn Gói phần mềm (Packages).
- Tìm hoặc gõ tìm kiếm
Cloudflared
trong danh sách gói phần mềm. - Nhấn nút cài đặt bên cạnh
Cloudflared
. - Sau khi cài, bạn có thể thử bật nút khởi động bên phải
Cloudflared
. Dịch vụ có thể chưa thể khởi động do chưa được ủy quyền, điều này là bình thường.
2. Ủy quyền cho ServBay truy cập tài khoản Cloudflare
Để ServBay có quyền thay bạn tạo và quản lý Cloudflare Tunnel cùng bản ghi DNS liên quan, bạn cần thực hiện bước ủy quyền:
- Trong thanh điều hướng bên trái của ServBay, chọn Tunnel.
- Trong danh sách dịch vụ Tunnel, chọn Cloudflared.
- Bạn sẽ thấy nút Login Authorization (Đăng nhập & Ủy quyền) (hoặc tên tương tự). Nhấp vào nút này.
- Sau khi nhấp, ServBay sẽ mở cửa sổ trình duyệt mới chuyển hướng bạn tới trang ủy quyền của Cloudflare.
- Ở trang Cloudflare, bạn sẽ được yêu cầu đăng nhập (nếu chưa đăng nhập), sau đó chọn tên miền bạn muốn ủy quyền cho ServBay (Cloudflared) sử dụng. Hãy chọn đúng tên miền mà bạn đã chuẩn bị và đang quản lý bằng Cloudflare.
- Làm theo hướng dẫn trên Cloudflare để hoàn tất quá trình ủy quyền.
- Khi ủy quyền thành công, quay lại ứng dụng ServBay.
- Ở giao diện cấu hình Cloudflared, nhấn Login Authorization (Đăng nhập & Ủy quyền) (nếu vẫn hiện) bên phải sẽ có biểu tượng làm mới để cập nhật trạng thái ủy quyền trong ServBay.
- Nếu ủy quyền thành công, nút Login Authorization (Đăng nhập & Ủy quyền) sẽ chuyển thành Cancel Authorization (Hủy ủy quyền).
3. Cấu hình Tunnel trong ServBay
Sau khi ủy quyền thành công, bạn có thể bắt đầu cấu hình tunnel cụ thể:
Local Domain (Website local):
- Nhấp vào menu thả xuống và chọn website local trên ServBay mà bạn muốn xuất bản qua Cloudflared. Ví dụ, chọn
servbay.demo
.
- Nhấp vào menu thả xuống và chọn website local trên ServBay mà bạn muốn xuất bản qua Cloudflared. Ví dụ, chọn
Subdomain (Tên miền phụ):
- Tại khung nhập này, chỉ định subdomain cho website local bạn chọn. Ví dụ gõ
test
hoặcproject-alpha
. - ServBay sẽ ghép subdomain này với tên miền bạn đã ủy quyền trên Cloudflare để tạo ra URL công khai hoàn chỉnh. Nếu bạn ủy quyền
yourdomain.com
và subdomain làtest
, URL công khai sẽ làtest.yourdomain.com
. - Giao diện sẽ hiển thị hậu tố tên miền đã được ủy quyền, ví dụ
.yourdomain.com
(trong hình là.ks.do
minh họa phần này).
- Tại khung nhập này, chỉ định subdomain cho website local bạn chọn. Ví dụ gõ
Thêm nhiều tunnel khác:
- Nếu muốn tạo tunnel cho nhiều website local (mỗi tunnel dùng một subdomain khác nhau), hãy nhấn nút
+
bên phải mục tunnel đang có để thêm dòng cấu hình. Lặp lại các bước trên cho website và subdomain mới.
- Nếu muốn tạo tunnel cho nhiều website local (mỗi tunnel dùng một subdomain khác nhau), hãy nhấn nút
4. Lưu cấu hình & khởi động dịch vụ
- Sau khi hoàn tất các cấu hình tunnel, nhấn nút Save (Lưu) ở góc phải dưới cùng.
- ServBay sẽ:
- Tạo một Cloudflare Tunnel tên là
servbay-tunnel-xxxxx
vớixxxxx
là mã ngẫu nhiên. - Giao tiếp qua API với Cloudflare để thêm từng cấu hình vào Tunnel.
- Tự động tạo bản ghi CNAME DNS dưới domain bạn đã ủy quyền, trỏ subdomain bạn chỉ định về tunnel này.
- Tạo một Cloudflare Tunnel tên là
- Sau khi lưu, dịch vụ Cloudflared sẽ tự động khởi động (hoặc bạn có thể bật công tắc bằng tay). Quan sát đèn báo trạng thái cạnh dịch vụ
Cloudflared
, đèn xanh tức là dịch vụ đã chạy. - Kiểm tra truy cập:
- Bây giờ, bạn đã có thể truy cập website local của mình qua URL công khai đã cấu hình (ví dụ:
test.yourdomain.com
) từ bất kỳ đâu. - Nhấn biểu tượng sao chép cạnh domain ngoài để copy URL, hoặc nhấn biểu tượng trình duyệt để mở ngay trên trình duyệt.
- Bây giờ, bạn đã có thể truy cập website local của mình qua URL công khai đã cấu hình (ví dụ:
Lưu ý
- Do số lượng node của Cloudflared khá lớn, kết nối ban đầu sau khi lưu cấu hình có thể mất một chút thời gian, không nên truy cập ngay sau khi nhấn lưu. Hãy đợi vài giây cho đến khi ServBay thông báo thành công rồi hãy truy cập.
- Việc tạo bản ghi DNS và truyền phát toàn cầu có thể mất từ vài giây đến vài phút. Nếu chưa truy cập được, hãy đợi thêm hoặc dùng lệnh
sudo killall -HUP mDNSResponder
để xóa cache DNS local.
5. Quản lý Tunnel Cloudflared
Ở giao diện cấu hình Cloudflared của ServBay:
- Sao chép domain ngoài: Nhấn biểu tượng sao chép.
- Mở trên trình duyệt: Nhấn biểu tượng trình duyệt.
- Thêm tunnel: Nhấn biểu tượng
+
. - Xóa tunnel: Nhấn biểu tượng
-
rồi Lưu. Sau khi xóa, ServBay sẽ cố gắng xóa tunnel và bản ghi DNS tương ứng trên Cloudflare. - Hủy ủy quyền: Nhấn Cancel Authorization (Hủy ủy quyền) để thu hồi quyền truy cập ServBay tới tài khoản Cloudflare của bạn. Việc này sẽ khiến mọi tunnel Cloudflared đã cấu hình ngừng hoạt động.
- Tắt/bật dịch vụ: Bạn có thể nhấn công tắc bên cạnh dịch vụ
Cloudflared
để tắt hoặc bật toàn bộ dịch vụ này.
Lưu ý
- Truyền phát DNS: Sau khi tạo hay đổi subdomain, bản ghi DNS có thể mất thời gian để hiệu lực toàn cầu.
- Quản lý Tunnel Cloudflare: Bạn cũng có thể đăng nhập trực tiếp vào Cloudflare Zero Trust Dashboard (thường là mục Access -> Tunnels) để xem và quản lý tunnel do ServBay tạo.
- Bảo mật: Tunnel Cloudflare về bản chất đã an toàn. Bạn vẫn có thể tăng cường bảo vệ cho tunnel và domain của mình trên Cloudflare (ví dụ các rule WAF, chính sách truy cập, v.v.).
- Giới hạn ủy quyền domain: Thông thường, ServBay chỉ cho phép ủy quyền và sử dụng một domain trên một tài khoản Cloudflare/lần để tạo tunnel. Nếu cần dùng domain khác, bạn phải hủy ủy quyền hiện tại rồi ủy quyền lại domain mới.
- Điều khoản Cloudflare: Đảm bảo việc sử dụng của bạn tuân thủ điều khoản dịch vụ Cloudflare.
- Người dùng tại Trung Quốc đại lục: Một số trường hợp người dùng ở Trung Quốc đại lục có thể không sử dụng Cloudflared ổn định.
Câu hỏi thường gặp (FAQ)
- Q: Nhấn “Login Authorization” mà trang Cloudflare báo lỗi hoặc không thấy mục chọn domain?
- A: Hãy đảm bảo bạn đã đăng nhập đúng tài khoản Cloudflare sở hữu domain được quản lý DNS bởi Cloudflare. Đồng thời, xác nhận đã thiết lập Team trong Cloudflare Zero Trust.
- Q: Đã cấu hình subdomain và lưu, nhưng không truy cập được qua
subdomain.mydomain.com
?- A: Đầu tiên hãy chờ vài phút để DNS cập nhật toàn cầu. Kế tiếp, kiểm tra trạng thái dịch vụ Cloudflared trong ServBay phải ở màu xanh (đang chạy). Cuối cùng, đăng nhập Cloudflare Dashboard kiểm tra Tunnel tương ứng đã được tạo và hoạt động bình thường, và bản ghi DNS đã bổ sung đúng.
- Q: Cloudflared khác gì với Ngrok/Pinggy?
- A: Cloudflared có ưu điểm vượt trội nhờ tích hợp sâu với hệ thống mạng và bảo mật của Cloudflare, cho phép dùng domain/subdomain riêng - phù hợp với nhu cầu truy cập công khai ổn định, branding chuyên nghiệp và cần bảo mật. Ngrok/Pinggy có thế mạnh với chia sẻ nhanh, tạm thời, đặc biệt với tài khoản miễn phí.
Tổng kết
Bằng việc tích hợp Cloudflared trong ServBay, lập trình viên macOS có thể dễ dàng tận dụng cơ sở hạ tầng mạnh mẽ và bảo mật của Cloudflare để xuất bản các dự án phát triển local ra Internet một cách chuyên nghiệp. Làm theo hướng dẫn này, bạn sẽ nhanh chóng thiết lập và vận hành Cloudflare Tunnel, tận hưởng sự tiện lợi của tên miền tùy chỉnh cùng những lợi ích về bảo mật và hiệu suất mà Cloudflare mang lại.