Reverse Proxy & Load Balancer với TLS 1.2/1.3
Trong kiến trúc hệ thống hiện đại, reverse proxy và load balancer không chỉ phân phối traffic, mà còn đóng vai trò termination point cho TLS. Nếu proxy/load balancer chưa hỗ trợ TLS 1.2/1.3 hoặc vẫn bật cipher yếu, toàn bộ hệ thống phía sau sẽ bị hạ cấp bảo mật.
Bài viết này hướng dẫn cấu hình TLS chuẩn trên HAProxy, nginx, F5 BIG-IP, vSphere/vCenter.
HAProxy
HAProxy là load balancer phổ biến trong các hệ thống high availability.
Cấu hình mẫu:
frontend https_in
bind *:443 ssl crt /etc/ssl/private/example.pem alpn h2,http/1.1
default_backend app_servers
backend app_servers
balance roundrobin
server app1 10.10.85.11:80 check
server app2 10.10.85.12:80 check
- alpn h2,http/1.1: bật HTTP/2.
- balance roundrobin: phân phối đều traffic.
- SSL cert được terminate tại frontend, backend chạy HTTP.
Có thể thêm:
ssl-default-bind-ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
ssl-default-bind-options no-sslv3 no-tlsv10 no-tlsv11
nginx Reverse Proxy
nginx thường được dùng làm reverse proxy trước ứng dụng (API, web app).
Cấu hình mẫu:
server {
listen 443 ssl http2;
server_name proxy.example.com;
ssl_certificate /etc/ssl/fullchain.pem;
ssl_certificate_key /etc/ssl/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256;
location / {
proxy_pass http://10.10.85.20:8080;
}
}
- Terminate TLS tại nginx.
- Backend chạy HTTP trên port 8080.
- Bật HTTP/2 để tăng tốc kết nối.
F5 BIG-IP
F5 thường được dùng tại doanh nghiệp lớn, ngân hàng, tài chính.
Các bước cấu hình:
- Import chứng chỉ SSL vào F5.
- Tạo Client SSL Profile → gán cho Virtual Server.
- Trong profile:
- Chỉ bật TLS 1.2 và TLS 1.3.
- Disable SSLv3, TLS 1.0/1.1.
- Áp dụng security policy cho Virtual Server.
Ưu điểm F5: có thể offload SSL, DDoS mitigation, WAF.
VMware vSphere / vCenter
VMware dùng rhttpproxy để quản lý HTTPS access (UI/API).
Cấu hình TLS:
Mở /etc/vmware-rhttpproxy/config.xml:
<TLSProtocols>
<protocol>TLSv1.2</protocol>
<protocol>TLSv1.3</protocol>
</TLSProtocols>
Restart service:
service-control --restart rhttpproxy
Sau khi chỉnh, vCenter sẽ chỉ chấp nhận TLS 1.2/1.3 khi client (vSphere Client, API) kết nối.
Best Practices 2025
- TLS policy: chỉ bật TLS 1.2 & 1.3.
- Cipher: ưu tiên AEAD (AES-GCM, ChaCha20).
- OCSP Stapling: bật stapling ở HAProxy/nginx để giảm độ trễ.
- HTTP/2 & HTTP/3: bật nếu backend và client hỗ trợ.
- Monitoring: test TLS định kỳ bằng openssl s_client, testssl.sh hoặc Qualys SSL Labs.
- Auto-renew certificate: dùng Let’s Encrypt (acme.sh, certbot) hoặc PKI nội bộ (AD CS, Vault).
Kết luận
- HAProxy/nginx: terminate TLS, phân phối traffic backend.
- F5 BIG-IP: offload TLS cho môi trường enterprise.
- vSphere/vCenter: chỉnh rhttpproxy để enforce TLS 1.2/1.3.
Dù là open-source hay enterprise, nguyên tắc chung: terminate TLS với cipher hiện đại, disable giao thức cũ, giám sát định kỳ.


