Cấu hình SSL/TLS hiện đại (nginx với HTTP/2 & HTTP/3)
Trong số các web server phổ biến, nginx nổi bật nhờ hiệu năng cao và khả năng hoạt động như reverse proxy, API gateway, load balancer. Với xu hướng web hiện đại, nginx cần được cấu hình TLS 1.2/1.3, cùng với HTTP/2 và HTTP/3 (QUIC) để đảm bảo cả bảo mật lẫn tốc độ.
1) Bối cảnh
- TLS 1.2 & 1.3: bắt buộc để vượt qua kiểm tra bảo mật (PCI DSS, SSL Labs, NIST).
- Cipher hiện đại: AES-GCM, ChaCha20 – bảo mật cao và tối ưu trên mobile.
- HTTP/2: song song connection, giảm latency.
- HTTP/3 (QUIC): chạy trên UDP, cải thiện hiệu năng cho mobile và mạng kém ổn định.
nginx ≥ 1.25.x hỗ trợ HTTP/3.
2) Step-by-step cấu hình nginx
Trong /etc/nginx/sites-enabled/example.conf:
server {
listen 443 ssl http2;
listen 443 quic reuseport; # HTTP/3 (QUIC)
server_name example.com;
# Chứng chỉ SSL/TLS
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# TLS Protocols & Ciphers
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256;
ssl_prefer_server_ciphers off;
# OCSP Stapling
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 1.1.1.1 valid=300s;
resolver_timeout 5s;
# HSTS
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
# HTTP/3 headers
add_header Alt-Svc 'h3=":443"';
location / {
proxy_pass http://127.0.0.1:8080;
}
}
Các bước bổ sung:
- Enable QUIC module khi build nginx (hoặc dùng bản có sẵn trong repo mới).
- Mở UDP port 443 trên firewall (HTTP/3).
- Kiểm tra config:
nginx -t
systemctl reload nginx
3) Best Practices 2025
- Protocol: Chỉ bật TLS 1.2 & 1.3, disable TLS 1.0/1.1.
- Cipher Suite:
- Ưu tiên AES-GCM cho server mạnh.
- Dùng ChaCha20-Poly1305 cho thiết bị di động.
- HTTP/2 + HTTP/3: bật đồng thời để tối ưu performance.
- OCSP Stapling: giảm độ trễ khi trình duyệt check trạng thái chứng chỉ.
- Cert auto-renew: dùng certbot hoặc acme.sh để tránh hết hạn chứng chỉ.
- Monitoring: kiểm tra cert expiry & TLS score bằng Prometheus + SSL Labs API.
Kết luận
Với cấu hình trên, nginx sẽ:
- Đạt chuẩn TLS 1.2/1.3 hiện đại.
- Tích hợp cipher mạnh (AES-GCM, ChaCha20).
- Hỗ trợ HTTP/2 và HTTP/3 (QUIC) để tăng tốc website.
- Bật OCSP stapling & HSTS để đạt Grade A+ trên SSL Labs.
Đây là Bài 2 trong series “Cấu hình SSL/TLS hiện đại”. Bài tiếp theo sẽ là Windows Server (IIS) với TLS 1.3.


