Cloudflare Tunnel là công cụ cho phép kết nối an toàn các ứng dụng hoặc dịch vụ chạy nội bộ (localhost, máy chủ, mạng LAN) với Internet mà không cần mở cổng (port forwarding) trên bộ định tuyến (router) hay cần IP tĩnh. Nó giúp ẩn địa chỉ IP thực và bảo vệ hệ thống trước các cuộc tấn công mạng.
Cách thức hoạt động
Thay vì chờ đợi kết nối từ Internet đi vào mạng của bạn (dễ bị chặn bởi tường lửa), Tunnel tạo một kết nối mã hóa một chiều (outbound) từ máy chủ của bạn đến mạng lưới toàn cầu của Cloudflare. Cloudflare sẽ tiếp nhận các yêu cầu truy cập từ người dùng bên ngoài, xác thực và chuyển hướng lưu lượng đó qua đường hầm (tunnel) vào ứng dụng của bạn một cách trơn tru.
Ưu điểm nổi bật
Bảo mật tuyệt đối: Không cần mở cổng router hay dùng IP public, giảm thiểu rủi ro bị tấn công trực tiếp vào mạng nội bộ.
Không cần IP tĩnh: Hoạt động tốt ngay cả khi mạng nhà bạn dùng IP động.
Tích hợp Cloudflare Zero Trust: Cho phép thiết lập các lớp bảo mật nâng cao (như yêu cầu đăng nhập bằng Google, Microsoft, hoặc SSO) trước khi cho phép truy cập vào ứng dụng.
Tự động hóa toàn diện: Tự động tạo chứng chỉ mã hóa SSL/TLS, giúp website có giao thức https an toàn mà không phải cấu hình phức tạp.
Trường hợp sử dụng
Thích hợp cho các lập trình viên cần phơi bày (expose) các ứng dụng web đang phát triển trên máy tính cá nhân lên internet để test tính năng (webhook, API).
Dành cho những người muốn tự xây dựng hệ thống máy chủ tại nhà (Homelab như Home Assistant, Nextcloud, máy chủ Plex) và truy cập từ xa một cách an toàn mà không bị giới hạn bởi nhà mạng.
Cài Cloudflare Tunnel
brew install cloudflared
Bước 2: Chạy lệnh public domain local: vd: mình muốn public domain http://localhost:777 thì mình chạy lệnh
cloudflared tunnel --url http://127.0.0.1:7777
Cloudflare sẽ trả về một link dạng: https://something.trycloudflare.com
Gửi link đó cho người khác là họ mở được.
Nếu bạn muốn dùng domain riêng thì bạn hãy làm theo các bước sau:
Có domain riêng: Cloudflare Tunnel cố định
- Đăng nhập tài khoản Cloudflare và vào trang Dash Cloudflare One
- Chọn Access → Tunnels → bấm Create a tunnel, đặt tên rồi nhấn Save.
- Cài đặt và chạy Connector trên máy theo câu lệnh hệ điều hành cung cấp sẵn (chứa đoạn mã Token).
- Cấu hình Public Hostname:
- Nhập Subdomain (ví dụ: demo) và chọn Domain của bạn.
- Mục Service: Chọn kiểu HTTP và điền địa chỉ local của bạn (ví dụ: localhost:3000).
- Bấm Save hostname và gửi địa chỉ https://tendomain.com cho người khác truy cập
