Skip to main content

Triển khai Cloudflare Tunnel trên Proxmox

Trong phần này chúng ta sẽ thực hiện cài đặt cloudflared agent trên một CT trên Proxmox và sau đó là cấu hình hình Cloudflared Tunnel trên Cloudflare

Phần thực hiện này sẽ loại bỏ Nginx Reverse Proxy đang sử dụng. Nên hãy đảm bảo bạn có quyền truy cập khác ngoài sử dụng domain name.

Ok. Let's go!

Chuẩn bị

Tắt NPM và đóng cổng

Để đảm bảo chắc chắn các setup tiếp theo hoạt động đúng và tránh trường hợp setup sai nhưng vẫn truy cập được thông qua NPM mình khuyến cáo nên thực hiện 2 việc sau:

  • Đóng các port 80, 443 đã mở trên router
  • Tắt CT NPM hoặc disable các domain trên NPM

Trong lúc thực hiện nên disable các domain trên NPM trước để có thể cứu được nếu gặp lỗi. Sau khi setup tất cả thành công thì đóng cổng và xóa NPM sau.

Tải CT Templates

Truy cập PVE web > Storage local > CT Templates > Templates > Tải debian-12-standard (version 12.12-1) > Download

image.png

Tạo CT

Trong phần tạo CT này chỉ nhắc đến những mục quan trọng cần lưu ý. Những mục khác có thể để default.

  • General
    • Unprivileged container: Nên tích chọn (nếu chưa tick)
    • Nhớ điền password mới next được,
  • Template
    • Chọn template vừa tải
  • Disks
    • 2 - 4GiB
  • CPU
    • 1 core
  • Memory
    • Memory (MiB): 512
    • Swap (MiB): 512
  • Network
    • IPv4 Static
    • IPv4/CIDR: 192.168.1.xxx/24
    • Gateway (IPv4): 192.168.1.1
  • DNS
    • 8.8.8.8
  • Confirm > Finish

Cấu hình CT

Chọn CT đã tạo và Start nó.

Tại màn hình console hãy đăng nhập với account root và password đã tạo ở bước trên.

Cập nhật hệ thống và cài curl (cần để tải cloudflared)

  • apt update && apt upgrade -y
  • apt install curl -y

CT này cần chạy thì mới có thể tạo ra tunnel. Vậy nên chắc chắn bạn sẽ muốn nó được khởi động cùng với proxmox. Hãy truy cập Options > Start at boot > Enable

Tạo và kết nối Tunnel

Trên Cloudflare

Để cài đặt Tunnel chúng ta sẽ cần làm việc với Zero Trust. Nên hãy truy cập https://one.dash.cloudflare.com/

Zero Trust > Networks > Connectors > Create a tunnel > Select Cloudflared

Screenshot 2025-11-24 100545.png

Điền tên của tunnel > Next

Tiếp theo, chọn hệ điều hành mà chúng ta đang cài tunnel. Ở đây đang cài trên template Debian nên chọn Debian (64-bit). Trên cửa sổ này Cloudflare sẽ cho chúng ta lệnh cài đặt trên Debian.

image.png

Trên Proxmox

Trở về máy chủ PVE, tại console của CT đã cài đặt và chạy lần lượt từng lệnh trên. (Nếu đã đăng nhập với account root thì bỏ sudo trong lệnh)

Sau khi chạy xong sẽ thấy trong cửa sổ Cloudflare xuất hiện Connectors như hình là OK.

image.png

image.png

Cấu hình Routing

Phần này chúng ta sẽ cấu hình để domain name trỏ về đúng địa chỉ IP local của từng dịch vụ.

Quay lại với Cloudflare, chọn Tunnel mà chúng ta đã tạo ở phần trên và chọn Edit nó.

Đi tới Published application routes và thực hiện thêm mới.

image.png

Thông tin cơ bản có thể điền như trên. Có vài trường hợp chúng ta cần lưu ý như sau:

Kết nối HTTP

Với đa phần các dịch vụ chúng ta sẽ sử dụng kết nối HTTP này. Phần mã hoá đã được tunnel lo.

Thông tin, chỉ cần điền như trên và Save lại là xong.

Chú ýý, phần Service Type chọn là HTTP.HTTP.

Lưu ý với Synology/XPEnology

Khi truy cập tới dsm có thể sẽ gặp lỗi "Too many redirects".

Nếu gặp lỗi này hãy, tới DSM > Control Panel > Login Portal > DSM > Tắt "Automatically redirect HTTP connections to HTTPS for DSM desktop"

image.png

Kết nối HTTPS


Một số trang như Proxmox VE sẽ yêu cầu bắt buộc sử dụng HTTPS với Self-signed certificate. Với kết nối loại này sẽ mặc định bị Cloudflare từ chối. Vậy nên chúng ta cần config để bỏ qua bước này.


Lần này với Service Type hãy chọn là HTTPS, trong Additional application settings > TSL > Bật No TLS Verify > Save.


image.png

Ok, như vậy là xong rồi. Hãy đảm bảo là đã đóng cổng trên router và disable thư domain trong NPM trước khi test thử với địa chỉ vừa config. Nếu truy cập thành công là có thể xoá NPM rồi đấy :D