Quay lại danh sách
Tin tức công nghệ

Triển khai Zrok trên VPS: Giải pháp chia sẻ dịch vụ local ra internet an toàn thay thế hoàn hảo cho Ngrok

2 tháng 6, 2026

Giới thiệu về bài toán chia sẻ dịch vụ Local và sự hạn chế của Ngrok

Trong quá trình phát triển phần mềm, thử nghiệm webhook hoặc cấu hình hệ thống, việc chia sẻ một dịch vụ đang chạy ở máy local (localhost) ra ngoài Internet là nhu cầu vô cùng phổ biến. Lập trình viên cần kiểm thử ứng dụng di động kết nối với API local, cấu hình webhook từ các dịch vụ bên thứ ba như Stripe, GitHub, hay trình diễn sản phẩm trực tiếp cho khách hàng xem mà không muốn mất thời gian deploy lên server trung gian.

Từ lâu, Ngrok đã trở thành công cụ quốc dân cho giải pháp này nhờ sự tiện lợi và nhanh chóng. Tuy nhiên, theo thời gian, các chính sách thắt chặt của Ngrok đã mang đến không ít phiền toái cho môi trường doanh nghiệp và nhà phát triển chuyên nghiệp:

  • Giới hạn băng thông và số lượng request: Tài khoản miễn phí liên tục gặp thông báo quá tải hoặc bị giới hạn số lượng kết nối đồng thời.
  • Bị thay đổi URL ngẫu nhiên: Mỗi lần khởi động lại tunnel, bạn sẽ nhận được một subdomain hoàn toàn khác, buộc phải cập nhật lại cấu hình webhook hoặc ứng dụng kiểm thử một cách phiền phức. Để có URL cố định, chi phí bỏ ra hàng tháng là không hề nhỏ.
  • Rủi ro bảo mật dữ liệu: Toàn bộ lưu lượng truy cập từ máy khách đến local của bạn đều phải đi qua hạ tầng đám mây đóng của Ngrok. Đối với các dự án doanh nghiệp có yêu cầu khắt khe về bảo mật dữ liệu và compliance, đây là một điểm trừ lớn.

Chính vì những lý do đó, xu hướng tự host (Self-hosted) một giải pháp thay thế đang trở nên mạnh mẽ hơn bao giờ hết. Và Zrok chính là câu trả lời hoàn hảo nhất hiện nay.

Zrok là gì? Tại sao Zrok là giải pháp thay thế hoàn hảo cho Ngrok?

Zrok là một nền tảng chia sẻ ngang hàng (peer-to-peer) và reverse proxy mã nguồn mở, được xây dựng dựa trên nền tảng bảo mật thế hệ mới OpenZiti. Không chỉ dừng lại ở việc tạo ra các đường ống (tunnel) kết nối thông thường, Zrok mang đến triết lý bảo mật Zero Trust (Không tin tưởng bất kỳ ai) vào việc chia sẻ tài nguyên.

Khi so sánh với Ngrok, Zrok sở hữu những ưu điểm vượt trội giúp nó trở thành lựa chọn hàng đầu cho doanh nghiệp:

  • Hoàn toàn mã nguồn mở và miễn phí: Bạn có thể sử dụng dịch vụ đám mây miễn phí của họ (Zrok SaaS) hoặc tự triển khai (Self-host) toàn bộ hạ tầng trên VPS cá nhân mà không gặp bất kỳ giới hạn nào.
  • Bảo mật Zero Trust tuyệt đối: Tích hợp OpenZiti giúp mã hóa đầu cuối (end-to-end encryption). Các dịch vụ của bạn có thể được chia sẻ một cách riêng tư (Private Shares), nghĩa là chỉ những người có mã xác thực hoặc cài đặt Zrok client mới có thể truy cập, ẩn hoàn toàn khỏi Internet công cộng.
  • Hỗ trợ đa dạng phương thức kết nối: Ngoài HTTP/HTTPS truyền thống, Zrok hỗ trợ tunnel cho TCP, UDP, chia sẻ file trực tiếp (web), và thậm chí là các kết nối VPN dạng nhẹ.
  • Quản trị tập trung linh hoạt: Cung cấp giao diện Web UI trực quan và API mạnh mẽ để quản lý, giám sát lưu lượng và kiểm soát quyền truy cập của từng tunnel đang hoạt động trong hệ thống.

Hướng dẫn chi tiết cách triển khai Zrok Self-hosted trên VPS

Để hoàn toàn làm chủ hạ tầng và không phụ thuộc vào bất kỳ bên thứ ba nào, việc tự triển khai Zrok trên một máy chủ ảo (VPS) riêng là giải pháp tối ưu nhất cho doanh nghiệp. Dưới đây là các bước thiết lập chi tiết trên hệ điều hành Ubuntu Server.

Bước 1: Chuẩn bị hạ tầng và tên miền

Để hệ thống hoạt động ổn định và an toàn, bạn cần chuẩn bị:

  1. Một VPS chạy Ubuntu 22.04 LTS hoặc mới hơn có IP công cộng (Public IP).
  2. Một tên miền (Domain) riêng đã được trỏ bản ghi Wildcard về IP của VPS. Ví dụ: trỏ bản ghi *.zrok.yourdomain.com và zrok.yourdomain.com về IP của VPS.
  3. Mở các cổng cần thiết trên tường lửa (Firewall/UFW): Cổng 80, 443 cho lưu lượng web và cổng 18080, 10000 cho các dịch vụ nội bộ của Zrok và OpenZiti.

Bước 2: Cài đặt Docker và Docker Compose

Cách nhanh nhất và sạch sẽ nhất để triển khai Zrok Self-hosted là sử dụng Docker. Hãy cập nhật hệ thống và cài đặt Docker bằng các lệnh sau:

sudo apt update && sudo apt upgrade -y
sudo apt install docker.io docker-compose-plugin -y
sudo systemctl enable --now docker

Bước 3: Tải xuống cấu hình Zrok và thiết lập biến môi trường

Nhà phát triển Zrok cung cấp sẵn file Docker Compose tối ưu cho việc tự triển khai. Bạn tạo thư mục làm việc và tải file cấu hình về VPS:

mkdir ~/zrok-stack && cd ~/zrok-stack
curl -o docker-compose.yml https://raw.githubusercontent.com/openziti/zrok/main/docker/docker-compose.yml

Tiếp theo, tạo một file môi trường .env để định nghĩa tên miền và thông tin quản trị của bạn:

ZROK_DOMAIN=zrok.yourdomain.com
ZROK_ADMIN_PASSWORD=MatKhauBaoMatCuaBanTạiDay
[email protected]
ZROK_USER_PASSWORD=MatKhauNguoiDung123

Lưu ý: Hãy thay đổi tên miền và mật khẩu bằng thông tin thực tế của bạn để đảm bảo tính an toàn hệ thống, tránh sử dụng mật khẩu mặc định.

Bước 4: Khởi chạy hệ thống Zrok

Sau khi đã cấu hình xong các biến môi trường, bạn tiến hành kích hoạt các container bằng lệnh:

sudo docker compose up -d

Quá trình tải image và khởi tạo dịch vụ có thể mất vài phút. Bạn có thể kiểm tra trạng thái hoạt động của hệ thống bằng lệnh sudo docker compose ps. Khi tất cả các service hiển thị trạng thái running, hệ thống Zrok của bạn đã sẵn sàng.

Cách sử dụng Zrok để chia sẻ dịch vụ nội bộ an toàn

Sau khi hạ tầng Zrok trên VPS đã chạy ổn định, việc sử dụng ở máy local vô cùng đơn giản và trực quan thông qua công cụ dòng lệnh (CLI).

1. Cài đặt Zrok CLI trên máy Local

Tùy thuộc vào hệ điều hành máy tính cá nhân của bạn, hãy cài đặt Zrok CLI theo hướng dẫn:

  • Trên macOS (Sử dụng Homebrew): brew install openziti/tap/zrok
  • Trên Linux: Tải bản phân phối binary trực tiếp từ GitHub Releases của Zrok và đưa vào thư mục /usr/local/bin/.
  • Trên Windows (Sử dụng Winget): winget install openziti.zrok

2. Xác thực và kích hoạt môi trường (Environment)

Trước khi tạo tunnel, bạn cần kết nối máy local với máy chủ Zrok tự host trên VPS. Đăng nhập vào trang quản trị web của bạn theo địa chỉ https://zrok.yourdomain.com bằng tài khoản đã cấu hình trong file .env để lấy Account Token.

Tại terminal máy local, chạy lệnh sau để kích hoạt:

zrok enable

Hệ thống sẽ xác thực và tạo một môi trường mã hóa riêng biệt cho máy tính của bạn trên VPS.

3. Chia sẻ dịch vụ ra Internet công cộng (Public Share)

Giả sử bạn đang có một ứng dụng web chạy ở cổng 8080 trên máy local (localhost:8080). Để chia sẻ nó ra Internet công cộng với mọi người, bạn chỉ cần gõ lệnh:

zrok share public http://localhost:8080

Ngay lập tức, Zrok sẽ trả về một URL cố định hoặc ngẫu nhiên thuộc tên miền của bạn (ví dụ: https://subdomain.zrok.yourdomain.com). Bất kỳ ai trên Internet cũng có thể truy cập vào URL này để xem ứng dụng đang chạy dưới máy local của bạn.

4. Chia sẻ bảo mật Zero Trust (Private Share) - Tính năng độc bản

Đây là điểm khác biệt lớn nhất giúp Zrok đè bẹp Ngrok. Nếu bạn có một dịch vụ nhạy cảm như cơ sở dữ liệu (Database), môi trường SSH, hoặc API nội bộ doanh nghiệp mà không muốn công khai ra toàn Internet, hãy sử dụng tính năng Private Share.

Tại máy chia sẻ (Server Local), chạy lệnh:

zrok share private tcp://localhost:5432

Zrok sẽ sinh ra một mã truy cập đặc biệt (ví dụ: abc123xyz) thay vì một URL web công cộng. Ở phía máy nhận (Client muốn truy cập), họ cũng cài đặt Zrok CLI và chạy lệnh kết nối:

zrok access private abc123xyz --bind 127.0.0.1:5432

Lúc này, một đường ống bảo mật mã hóa end-to-end được thiết lập trực tiếp giữa hai máy. Người dùng ở máy nhận có thể truy cập cơ sở dữ liệu thông qua địa chỉ 127.0.0.1:5432 một cách an toàn tuyệt đối, hacker trên Internet hoàn toàn không thể dò quét hay tấn công vào đường truyền này.

Kết luận và Khuyến nghị giải pháp cho doanh nghiệp

Việc chuyển dịch từ các dịch vụ phụ thuộc bên thứ ba như Ngrok sang giải pháp tự quản lý trên VPS với Zrok mang lại lợi ích kép cho doanh nghiệp và nhà phát triển: tối ưu hóa chi phí vận hành về 0 đồng và nâng tầm bảo mật hệ thống lên tiêu chuẩn Zero Trust hiện đại.

Đối với các đội ngũ phát triển phần mềm, các startup hoặc doanh nghiệp công nghệ coi trọng tính toàn vẹn của dữ liệu và quyền riêng tư mã nguồn, triển khai Zrok Self-hosted trên VPS chính là khoản đầu tư hạ tầng thông minh và bền vững nhất ở thời điểm hiện tại. Hãy bắt đầu tải và cấu hình Zrok ngay hôm nay để trải nghiệm sự tự do và an toàn tuyệt đối trong quy trình DevOps của bạn.

Triển khai Zrok trên VPS: Giải pháp chia sẻ dịch vụ local ra internet an toàn thay thế hoàn hảo cho Ngrok | DPTCloud