- Không cần mở port hoặc cấu hình NAT trong modem.
- Miễn phí chứng chỉ SSL với HTTPS hoàn toàn.
- Bảo vệ server tránh bị scan IP, tấn công trực tiếp.
- Có thể gắn domain phụ (subdomain) cho từng app/port khác nhau.
Bước 1: Cài đặt Cloudflare Tunnel
npm install -g cloudflared # Hoặc tải từ https://github.com/cloudflare/cloudflared/releases
Bước 2: Đăng nhập Cloudflare để tạo tunnel
cloudflared tunnel login
Sau khi mở trình duyệt và đăng nhập thành công, Cloudflare sẽ tạo file .pem
tại thư mục C:\Users\[user]\.cloudflared\
. Không xóa file này.
Bước 3: Tạo tunnel mới
cloudflared tunnel create proxy-server
Sau khi tạo xong, bạn sẽ thấy trên console một dòng như:
Created tunnel proxy-server with id 8b7f9277-a054-492e-a6be-036440c3b68d
Cloudflare cũng sẽ tạo file credentials JSON
tại: C:\Users\[user]\.cloudflared\8b7f9277-a054-492e-a6be-036440c3b68d.json
Bước 4: Tạo file config.yml
File này nằm trong thư mục .cloudflared/config.yml
. Nội dung ví dụ:
tunnel: [tunnel-id] credentials-file: C:/Users/[user]/.cloudflared/[tunnel-id].json ingress: - hostname: bill.yourdomain.com service: http://localhost:123 - hostname: memory.yourdomain.com service: http://localhost:456 - service: http_status:404
Bước 5: Tạo bản ghi DNS trên Cloudflare
Cách 1: Trên website Cloudflare → DNS → Add Record:
- Loại:
CNAME
- Tên:
proxy
- Trỏ tới:
8b7f9277-a054-492e-a6be-036440c3b68d.cfargotunnel.com
- Bật Proxy (đám mây màu cam)
Cách 2 (tạo tự động bằng lệnh):
cloudflared tunnel route dns proxy-server proxy.bapstudio.xyz
Bước 6: Chạy tunnel
cloudflared tunnel run proxy-server
Nếu cấu hình đúng, bạn có thể truy cập app qua https://proxy.yourdomain.com
Bước 7 (khuyên dùng): Thêm cloudflared vào PATH môi trường
- Tìm thư mục chứa file
cloudflared.exe
. - Mở
Control Panel → System → Advanced → Environment Variables
. - Chọn biến
Path
phía User → Edit → Add → Dán đường dẫn thư mục ở bước 1.
Sau đó mở lại terminal, gõ cloudflared
sẽ nhận lệnh ở mọi nơi.
Bước 8 (tùy chọn): Khởi động cùng Windows
- Mở
Task Scheduler
trên Windows. - Tạo task mới → tab General: đặt tên tuỳ ý.
- Tab Triggers: Add trigger "At log on" hoặc "At startup".
- Tab Actions: Add → Program: đường dẫn
cloudflared.exe
, Arguments:tunnel run proxy-server
- Lưu lại. Khởi động sẽ chạy tự động.
Bước 9 (mở rộng): Tạo thêm subdomain cho các port khác
Muốn trỏ nhiều app tới các port khác nhau trên cùng server, chỉ cần sửa file config.yml
như sau:
ingress: - hostname: proxy.yourdomain.com service: http://localhost:233 - hostname: studio.yourdomain.com service: http://localhost:124 - service: http_status:404
Sau đó tạo thêm bản ghi DNS cho subdomain mới:
cloudflared tunnel route dns proxy-server studio.yourdomain.com
Bước 10 (nâng cao): Chuyển tunnel sang máy khác
Nếu bạn thay máy hoặc cần di chuyển tunnel:
- Copy file
credentials JSON
từ máy cũ → thư mục.cloudflared
trên máy mới. - Copy file
config.yml
y nguyên sang máy mới. - Đảm bảo máy mới cũng có file
.pem
được tạo bằng lệnhcloudflared tunnel login
. - Chạy lại tunnel bình thường:
cloudflared tunnel run proxy-server
Mẹo nâng cao
- Muốn tạo thêm subdomain khác? Thêm vào
config.yml
→ phầningress
. - Muốn khởi động cùng Windows? Tạo shortcut hoặc dùng
nssm
để chạy tunnel như service. - Không cần mở port, vẫn truy cập được từ xa qua domain.
No comments:
Post a Comment