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

Cấu hình VPS thành 'High-Availability Reverse Proxy' với HAProxy và Keepalived: Chiến lược zero-downtime cho Landing Page

26 tháng 5, 2026

Giới thiệu: Thách thức về tính sẵn sàng cao của Landing Page trong chiến dịch Marketing

Đối với các chiến dịch tiếp thị số (Digital Marketing), Landing Page là điểm chạm quyết định chuyển đổi. Doanh nghiệp có thể chi hàng trăm triệu đồng cho quảng cáo Google Ads, Facebook Ads để điều hướng lưu lượng truy cập (traffic) khổng lồ về trang đích. Tuy nhiên, điều gì sẽ xảy ra nếu máy chủ (VPS) lưu trữ Landing Page đột ngột gặp sự cố phần cứng, sập nguồn hoặc quá tải vào đúng khung giờ vàng?

Một giây gián đoạn (downtime) không chỉ đồng nghĩa với việc lãng phí ngân sách quảng cáo, mà còn làm giảm uy tín thương hiệu nghiêm trọng trong mắt khách hàng. Để giải quyết triệt để bài toán này, các doanh nghiệp lớn thường áp dụng kiến trúc High-Availability (HA) - Tính sẵn sàng cao. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách biến các VPS thông thường thành một hệ thống High-Availability Reverse Proxy mạnh mẽ bằng cách kết hợp hai công cụ mã nguồn mở kinh điển: HAProxy và Keepalived. Đây là chiến lược cốt lõi giúp đảm bảo trạng thái zero-downtime cho Landing Page của bạn.

1. Tư duy kiến trúc: HAProxy và Keepalived hoạt động như thế nào?

Trước khi đi vào cấu hình chi tiết, chúng ta cần hiểu rõ mô hình hoạt động của giải pháp này. Một hệ thống HA tiêu chuẩn đòi hỏi việc loại bỏ hoàn toàn các điểm lỗi đơn lẻ (Single Point of Failure - SPoF). Nếu bạn chỉ dùng một máy chủ làm Load Balancer, chính máy chủ đó lại trở thành SPoF.

Sự kết hợp giữa Keepalived và HAProxy giải quyết bài toán này thông qua cơ chế phân tầng:

  • Keepalived (Tầng mạng - Layer 3/4): Sử dụng giao thức VRRP (Virtual Router Redundancy Protocol) để quản lý một địa chỉ IP ảo đại diện (gọi là VIP - Virtual IP). VIP này sẽ tự động gắn vào VPS chính (Master). Nếu VPS Master gặp sự cố, Keepalived sẽ ngay lập tức phát hiện và chuyển VIP sang VPS dự phòng (Backup) trong vài phần nghìn giây mà người dùng không hề nhận ra.
  • HAProxy (Tầng ứng dụng - Layer 4/7): Đóng vai trò là Reverse Proxy và Load Balancer. Khi nhận được yêu cầu từ VIP, HAProxy sẽ phân phối lưu lượng truy cập đến các máy chủ ứng dụng (Web Server backend) phía sau dựa trên các thuật toán tối ưu (Round Robin, Least Connections), đồng thời liên tục kiểm tra sức khỏe (health check) của các Web Server này.
Kiến trúc này đảm bảo rằng: Ngay cả khi một máy chủ cân bằng tải hoặc một máy chủ web bị sập hoàn toàn, Landing Page vẫn hoạt động mượt mà, duy trì trải nghiệm liên tục cho khách hàng.

2. Chuẩn bị tài nguyên hệ thống

Để triển khai mô hình này, doanh nghiệp cần chuẩn bị tối thiểu các tài nguyên sau (có thể thuê từ các nhà cung cấp cloud tương thích với tính năng IP Failover/Floating IP):

  1. 02 VPS cho tầng Proxy: Cấu hình tối thiểu 1 vCPU, 1GB RAM (Chạy Ubuntu Server hoặc CentOS). Ta gọi là Proxy-Master và Proxy-Backup.
  2. 01 Virtual IP (VIP): Địa chỉ IP tĩnh dùng chung cho cụm HA.
  3. 02 (hoặc nhiều hơn) VPS cho tầng Web Server: Nơi thực sự lưu trữ mã nguồn Landing Page (chạy Nginx hoặc Apache).

3. Hướng dẫn cấu hình chi tiết từng bước

Bước 1: Cài đặt HAProxy trên cả hai máy chủ Proxy

Truy cập SSH vào cả hai VPS Proxy-Master và Proxy-Backup để tiến hành cài đặt phiên bản HAProxy ổn định nhất:

sudo apt update
sudo apt install haproxy -y

Sau khi cài đặt, mở tệp cấu hình /etc/haproxy/haproxy.cfg và thiết lập cấu hình phân phối tải cấu trúc dạng sau:

frontend landing_page_front
    bind *:80
    mode http
    default_backend landing_page_back

backend landing_page_back
    mode http
    balance roundrobin
    option httpchk GET /health_check.php
    server web_server_1 192.168.1.11:80 check
    server web_server_2 192.168.1.12:80 check

Lưu ý: Thay thế các địa chỉ IP của web_server bằng IP nội bộ thực tế của bạn. Khởi động lại dịch vụ bằng lệnh: sudo systemctl restart haproxy.

Bước 2: Cấu hình Keepalived tạo cơ chế Failover

Cài đặt Keepalived trên cả 2 node Proxy:

sudo apt install keepalived -y

Trên máy Proxy-Master, tạo tệp cấu hình /etc/keepalived/keepalived.conf:

vrrp_script chk_haproxy {
    script "killall -0 haproxy"
    interval 2
    weight 2
}

vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 101
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass Secr3tPass
    }
    virtual_ipaddress {
        100.100.100.100 # Điền Virtual IP của bạn tại đây
    }
    track_script {
        chk_haproxy
    }
}

Trên máy Proxy-Backup, cấu hình tương tự nhưng thay đổi giá trị state MASTER thành state BACKUP và hạ thấp priority xuống 100.

Kích hoạt dịch vụ Keepalived: sudo systemctl start keepalived. Giờ đây, địa chỉ VIP sẽ tự động ánh xạ vào máy Master.

4. Kiểm thử kịch bản sự cố (Failover Testing) và Đánh giá hiệu năng

Để chứng minh hệ thống đã đạt trạng thái zero-downtime, quản trị viên có thể thực hiện kiểm thử thực tế bằng cách mô phỏng sự cố:

  • Kịch bản 1: Sập dịch vụ HAProxy trên Master. Chạy lệnh sudo systemctl stop haproxy trên máy Master. Cơ chế track_script của Keepalived sẽ lập tức phát hiện, hạ độ ưu tiên và chuyển VIP sang máy Backup chỉ trong vòng dưới 1 giây.
  • Kịch bản 2: Tắt nguồn hoàn toàn VPS Master. Landing Page vẫn truy cập bình thường thông qua IP ảo nhờ máy Backup đã tiếp quản toàn bộ lưu lượng.

Doanh nghiệp có thể sử dụng các công cụ như ApacheBench (ab) hoặc Locust để kiểm tra khả năng chịu tải. Kết quả thực tế cho thấy hệ thống kết hợp HAProxy giúp giảm tải CPU cho các Web Server tầng dưới nhờ cơ chế tối ưu hóa kết nối, đồng thời giữ tỷ lệ phản hồi lỗi (HTTP 5xx) ở mức 0% trong suốt quá trình chuyển giao dòng mạch dữ liệu.

Kết luận và Khuyến nghị vận hành

Xây dựng hệ thống High-Availability Reverse Proxy với HAProxy và Keepalived là giải pháp đầu tư dài hạn và vô cùng kinh tế cho mọi doanh nghiệp hoạt động trên môi trường số. Không cần đến các hệ thống phần cứng đắt đỏ, chỉ với các cụm Cloud VPS linh hoạt, bạn đã tự tạo ra một lá chắn vững chắc cho các chiến dịch tiếp thị của mình.

Để vận hành hệ thống này một cách tối ưu nhất, hãy luôn đảm bảo thiết lập các công cụ giám sát (Monitoring) như Prometheus hay Grafana nhằm cảnh báo sớm khi có sự cố failover xảy ra, giúp đội ngũ kỹ thuật có đủ thời gian khắc phục các node bị lỗi mà không gây bất cứ ảnh hưởng nào đến khách hàng đại chúng.

Cấu hình VPS thành 'High-Availability Reverse Proxy' với HAProxy và Keepalived: Chiến lược zero-downtime cho Landing Page | DPTCloud