Trả lời nhanh: HTTP/2 multiplex nhiều stream trên một kết nối; HTTP/3 chạy trên QUIC/UDP và cần kiểm tra build, TLS và network support trước khi bật.
Bài viết này thuộc serial Nginx, Reverse Proxy & Web Performance thực chiến. Mục tiêu là giải thích đúng mô hình, cung cấp cấu hình có thể kiểm tra và chỉ ra cách rollback khi thay đổi không đạt. Không nên áp dụng nguyên xi lên production nếu chưa đối chiếu phiên bản Nginx, hệ điều hành, topology và chính sách bảo mật của bạn.
Hiểu đúng bài toán
Bật protocol không tự động làm mọi website nhanh hơn; đo handshake, TTFB, asset waterfall và lỗi client.
Cấu hình tham khảo
Đây là skeleton tối thiểu để minh họa. Hãy thay domain, đường dẫn, upstream, user và giới hạn theo hệ thống thật.
listen 443 ssl http2;
# HTTP/3/QUIC phụ thuộc phiên bản và build Nginx
# Kiểm tra tài liệu module trước khi thêm listen ... quicQuy trình triển khai
- Ghi lại cấu hình hiện tại, dependency và phương án truy cập khẩn cấp.
- Đưa thay đổi vào file riêng hoặc branch có thể diff; không sửa mù trực tiếp trên bản duy nhất.
- Chạy kiểm tra cú pháp và smoke test từ cả bên trong lẫn bên ngoài origin.
- Reload graceful, theo dõi log/metric rồi chỉ tiếp tục khi health và latency ổn định.
Cách kiểm tra kết quả
curl -I --http2 https://example.com && curl -I --http3 https://example.com
| Kiểm tra | Dấu hiệu đạt | Nếu không đạt |
|---|---|---|
| Cấu hình | nginx -t trả về syntax is ok và test is successful | Đọc đúng dòng lỗi, khôi phục file trước rồi test lại |
| Đường request | Status, Host, scheme và upstream đúng như thiết kế | Kiểm tra DNS, server_name, location và proxy headers |
| Vận hành | Reload không làm mất kết nối ngoài dự kiến; log không tăng 4xx/5xx bất thường | So sánh baseline, xem upstream timing và rollback |
Lỗi thường gặp
- UDP 443 bị chặn, directive không được build, quảng bá Alt-Svc sai hoặc đánh giá bằng một lần đo.
Nguyên tắc xử lý là thay đổi một lớp mỗi lần: DNS/TLS, Nginx routing, kết nối upstream, ứng dụng rồi đến dữ liệu. Tránh xóa cache, đổi firewall hoặc restart toàn bộ stack khi chưa giữ lại log và bản cấu hình có thể phục hồi.
Checklist trước production
- Build support
- TLS
- TCP fallback
- UDP 443
- Alt-Svc
- RUM.
Kết luận
HTTP/2 multiplex nhiều stream trên một kết nối; HTTP/3 chạy trên QUIC/UDP và cần kiểm tra build, TLS và network support trước khi bật. Khi triển khai thực tế, hãy nối kết quả đo với mục tiêu người dùng như availability, TTFB, LCP, INP, CLS hoặc thời gian khôi phục thay vì chỉ nhìn một chỉ số đơn lẻ. Các bài tiếp theo trong Nginx Serial sẽ mở rộng từ lớp cấu hình này sang bảo mật, cache, monitoring và vận hành production.