1. HTTPS: từ yêu cầu kỹ thuật sang bài toán kiến trúc
Trong giai đoạn đầu của Internet, HTTPS từng được xem là một tính năng bổ sung. Ngày nay, HTTPS đã trở thành:
Yêu cầu bắt buộc của trình duyệt,
Điều kiện để bảo vệ dữ liệu người dùng,
Tiêu chuẩn mặc định của các hệ thống web hiện đại.
Tuy nhiên, khi hệ thống phát triển lên quy mô:
Hàng trăm website,
Hàng trăm web application,
Nhiều nhóm domain với đặc thù khác nhau,
HTTPS không còn là vấn đề “cài chứng chỉ cho từng website”, mà trở thành một chiến lược tổng thể, ảnh hưởng trực tiếp đến:
Kiến trúc hệ thống,
Khả năng mở rộng,
Hiệu năng,
Độ an toàn,
Chi phí vận hành và rủi ro sự cố.
2. Những sai lầm phổ biến khi triển khai HTTPS ở quy mô lớn
Trước khi xây dựng chiến lược đúng, cần nhận diện rõ các sai lầm thường gặp:
2.1. Mỗi backend tự xử lý HTTPS
Mỗi server cài Certbot riêng.
Mỗi ứng dụng tự quản lý chứng chỉ.
Hệ quả
Khó kiểm soát chứng chỉ hết hạn.
Chính sách TLS không đồng nhất.
Tăng nguy cơ downtime khi quên gia hạn.
2.2. Bật Cloudflare cho tất cả domain một cách máy móc
Không phân biệt website public và web app nội bộ.
Không kiểm soát được luồng SSL thực sự.
Hệ quả
Phát sinh lỗi redirect loop.
Backend không nhận IP thật client.
Khó debug khi có sự cố.
2.3. Không có chiến lược chuyển HTTP → HTTPS thống nhất
Website này redirect, website kia không.
Một số endpoint API bị lỗi do redirect sai.
Hệ quả
Trải nghiệm người dùng kém.
Phát sinh lỗi khó truy vết.
3. Mục tiêu của chiến lược HTTPS trong hệ thống này
Chiến lược HTTPS được trình bày trong tài liệu này hướng đến các mục tiêu sau:
Tập trung hóa HTTPS
Một điểm quản lý SSL duy nhất.
Đồng nhất chính sách bảo mật
TLS, headers, cipher suite thống nhất.
Đơn giản hóa vận hành
Tự động gia hạn.
Ít thao tác thủ công.
Phù hợp mô hình backend nội bộ
Backend không cần expose Internet.
Dễ mở rộng cho hàng trăm domain
Thêm website mới không làm phức tạp hệ thống.
4. Mô hình HTTPS được lựa chọn
4.1. Vị trí terminate SSL
Trong hệ thống này:
SSL được terminate tại Reverse Proxy
4.2. Lý do lựa chọn
Reverse Proxy là cổng vào duy nhất từ Internet.
Backend nằm trong mạng riêng (
10.10.10.0/24), không có IP public.Giảm tải cho backend.
Dễ kiểm soát và audit bảo mật.
5. Backend có cần HTTPS hay không?
5.1. Câu trả lời ngắn gọn
Không bắt buộc, trong mô hình này.
5.2. Phân tích
Backend:
Nằm trong mạng nội bộ.
Chỉ nhận traffic từ Reverse Proxy.
Kết nối LAN tốc độ cao (2.5G).
Trong bối cảnh này:
HTTPS giữa proxy và backend không tăng đáng kể mức độ an toàn.
Ngược lại, làm tăng độ phức tạp và khó debug.
5.3. Khi nào nên dùng HTTPS nội bộ
Backend nằm ở nhiều DC khác nhau.
Kết nối qua Internet công cộng.
Yêu cầu compliance đặc biệt.
6. Phân loại website để áp dụng HTTPS phù hợp
Chiến lược HTTPS không áp dụng một cách đồng loạt, mà dựa trên phân loại hệ thống.
6.1. Website public (giới thiệu, truyền thông)
Bắt buộc HTTPS.
Redirect HTTP → HTTPS.
Có thể tích hợp Cloudflare.
6.2. Website chuyên ngành
Bắt buộc HTTPS.
Có API nội bộ.
Timeout và cấu hình SSL cần ổn định.
6.3. Web application điều hành
Bắt buộc HTTPS.
Ưu tiên độ ổn định hơn tối ưu cực đoan.
Cloudflare chỉ dùng khi thật sự cần.
7. Cloudflare trong chiến lược HTTPS
7.1. Vai trò của Cloudflare
Trong hệ thống này, Cloudflare được xem là:
Lớp bảo vệ bổ sung (CDN, DDoS nhẹ).
Không phải thành phần bắt buộc.
7.2. Nguyên tắc sử dụng
Website public: có thể dùng Cloudflare.
Web app nội bộ, dashboard: không khuyến nghị.
Không để Cloudflare phá vỡ kiến trúc Reverse Proxy.
8. Chiến lược HTTP → HTTPS redirect
Nguyên tắc chung:
Redirect tại Reverse Proxy.
Dùng redirect 301.
Tránh redirect ở backend.
Lợi ích:
Đồng nhất hành vi.
Dễ kiểm soát.
Tránh lỗi lặp redirect.
9. Quản lý chứng chỉ cho hàng trăm domain
Chiến lược được áp dụng:
Sử dụng Let’s Encrypt.
Quản lý tập trung tại Reverse Proxy.
Tự động gia hạn bằng Certbot.
Không cài Certbot trên backend.
Chi tiết triển khai sẽ được trình bày ở Bài 11.
10. Tư duy vận hành lâu dài
Chiến lược HTTPS tốt cần:
Ít thay đổi khi hệ thống mở rộng.
Không phụ thuộc con người nhớ gia hạn.
Không tạo “điểm chết” khi một server lỗi.
Việc tập trung HTTPS tại Reverse Proxy giúp:
Chuyển backend QMS ↔ AI không ảnh hưởng SSL.
Giảm rủi ro khi backend gặp sự cố.
Giữ hệ thống ổn định trong thời gian dài.
Kết luận
Trong hệ thống nhiều website và web application, HTTPS không còn là cấu hình kỹ thuật đơn lẻ, mà là một quyết định kiến trúc.
Chiến lược được lựa chọn trong tài liệu này ưu tiên:
Đơn giản,
Dễ kiểm soát,
Phù hợp vận hành thực tế,
Và có thể mở rộng bền vững.
Các bài tiếp theo sẽ đi sâu vào triển khai kỹ thuật cụ thể, bắt đầu với Bài 11. Cài đặt và quản lý HTTPS với Certbot (Let’s Encrypt).
- Đăng nhập để gửi ý kiến