blog.dopana

Back

Let’s Encrypt đã trở thành tiêu chuẩn cho chứng chỉ SSL miễn phí, nhưng đôi khi bạn cần các lựa chọn thay thế. Có thể vì bạn muốn giảm thiểu công sức quản lý, cần thời hạn chứng chỉ dài hơn, hoặc đang tìm kiếm giải pháp tích hợp tốt hơn với hạ tầng hiện tại.

Tại sao cần lựa chọn thay thế Let’s Encrypt?#

Let’s Encrypt tuyệt vời nhưng có một số hạn chế:

  • Thời hạn ngắn: Chỉ 90 ngày, phải gia hạn thường xuyên
  • Không có giao diện web: Phải dùng command line
  • Rate limiting: Giới hạn số lượng chứng chỉ
  • Không hỗ trợ OV/EV: Chỉ có Domain Validation (DV)

[!TIP] Nếu bạn đang gặp vấn đề với Let’s Encrypt hoặc muốn khám phá các lựa chọn khác, đây là những giải pháp tốt nhất hiện nay.

1. Cloudflare SSL (Lựa chọn tốt nhất cho Proxy/CDN)#

Nếu bạn chuyển DNS về Cloudflare, họ sẽ cung cấp chứng chỉ SSL miễn phí mà không cần gia hạn thủ công trên máy chủ.

Universal SSL#

  • Tự động kích hoạt cho mọi tên miền chạy qua proxy Cloudflare
  • Không cần cài đặt gì trên hosting
  • Chứng chỉ publicly trusted, browser chấp nhận ngay

Origin CA Certificate#

  • Cloudflare cấp chứng chỉ cài trực tiếp lên server
  • Thời hạn lên tới 15 năm
  • Mã hóa dữ liệu từ Server đến Cloudflare
  • Không lo hết hạn sau mỗi 3 tháng như Let’s Encrypt
graph LR
    A[Browser] --> B[Cloudflare Edge]
    B --> C[Origin Server]
    B -.->|Universal SSL| A
    C -.->|Origin CA| B
    style B fill:#f9f,stroke:#333,stroke-width:2px

[!WARNING] Origin CA chỉ được Cloudflare trust, không phải publicly trusted. Browser sẽ báo lỗi nếu truy cập trực tiếp server bỏ qua Cloudflare.

Khi nào nên dùng Cloudflare SSL?#

  • Website chạy qua Cloudflare proxy
  • Muốn giảm thiểu công sức quản lý SSL
  • Cần thêm lợi ích CDN, DDoS protection
  • Không muốn cấu hình certbot trên server

2. ZeroSSL (Đối thủ cạnh tranh trực tiếp qua ACME)#

ZeroSSL là đối thủ lớn nhất của Let’s Encrypt, cũng dùng giao thức ACME để tự động hóa.

Ưu điểm#

  • Miễn phí: 90 ngày, tối đa 3 chứng chỉ qua web interface
  • Không giới hạn: Nếu cấu hình ACME automation
  • Giao diện web trực quan: Dễ dùng hơn command line
  • Hỗ trợ đầy đủ ACME ports: HTTP-01, DNS-01, TLS-ALPN-01

Hạn chế#

  • Wildcard SSL chỉ có ở bản trả phí
  • Rate limit nghiêm ngặt hơn ở bản miễn phí
# Cấu hình ZeroSSL với Certbot
certbot certonly --authenticator dns-zero_ssl \
  --dns-zero_ssl-credentials ~/.secrets/zero_ssl.ini \
  -d example.com -d *.example.com
bash

Khi nào nên dùng ZeroSSL?#

  • Muốn giao diện quản lý web thân thiện
  • Cần wildcard SSL (bản trả phí)
  • Đã quen với ACME nhưng muốn UI tốt hơn

3. SSL For Free (Đã thuộc về ZeroSSL)#

Trước đây là công cụ tạo chứng chỉ Let’s Encrypt thủ công qua web. Hiện đã tích hợp vào ZeroSSL.

  • Vẫn dùng được để tạo SSL 90 ngày miễn phí
  • Không cần gõ lệnh command line
  • Hệ thống backend là ZeroSSL

Khi nào nên dùng SSL For Free?#

  • Cần SSL nhanh chóng, không muốn cấu hình ACME
  • Chỉ cần 1-2 chứng chỉ đơn giản
  • Muốn process thủ công đơn giản

4. Buypass Go SSL (Lựa chọn ACME từ Châu Âu)#

Tổ chức chứng nhận (CA) uy tín từ Na Uy.

Ưu điểm nổi bật#

  • Thời hạn 180 ngày: Gấp đôi Let’s Encrypt/ZeroSSL
  • ACME compatible: Dễ chuyển từ Let’s Encrypt
  • Publicly trusted: Tất cả browser chấp nhận
  • Miễn phí wildcard: Qua ACME v2

Hạn chế#

  • Chỉ hỗ trợ single domain (không multi-domain SAN)
  • Phải tạo tài khoản Buypass
  • Không có giao diện web
# Chuyển từ Let's Encrypt sang Buypass
# Chỉ cần đổi server URL
# Từ: https://acme-v02.api.letsencrypt.org/directory
# Đến: https://api.buypass.com/acme/directory
bash

Khi nào nên dùng Buypass?#

  • Muốn thời hạn chứng chỉ dài hơn (180 ngày)
  • Cần wildcard SSL miễn phí
  • Ở Châu Âu, muốn CA địa phương
  • Đã có infrastructure ACME sẵn

5. SSL từ Cloud Providers#

Nếu bạn chạy hạ tầng trên cloud platforms, họ có SSL miễn phí tích hợp.

AWS Certificate Manager (ACM)#

  • Miễn phí cho Load Balancer (ALB) và CloudFront
  • Tự động gia hạn vĩnh viễn
  • Public certificate cho Elastic Load Balancing
  • Private certificate cho internal applications

Google Managed SSL#

  • Miễn phí cho App Engine, GKE, Cloud Run
  • Tự động quản lý lifecycle
  • Tích hợp với Google Cloud Load Balancing

Azure Key Vault#

  • Managed SSL certificates
  • Tích hợp với Application Gateway
  • Auto-renewal
graph TD
    A[Cloud Provider] --> B[AWS ACM]
    A --> C[Google Managed SSL]
    A --> D[Azure Key Vault]
    B --> E[ALB/CloudFront]
    C --> F[App Engine/GKE]
    D --> G[Application Gateway]
    style A fill:#e1f5fe,stroke:#01579b,stroke-width:2px

Khi nào nên dùng Cloud Provider SSL?#

  • Hạ tầng chạy trên cloud platform tương ứng
  • Muốn tích hợp sâu với cloud services
  • Cần managed service không phải lo maintenance
  • Scale lớn, nhiều applications

Bảng so sánh chi tiết#

Tiêu chíLet’s EncryptCloudflare SSLZeroSSLBuypass
Thời hạn90 ngàyVĩnh viễn / 15 năm (Origin)90 ngày180 ngày
Cách hoạt độngCài trực tiếp ServerProxy CDNServer hoặc Web UICài trực tiếp Server
Giao diện WebKhông (CLI only)Rất trực quanCó dashboardKhông (CLI only)
Wildcard SSLCó (DNS-01)Có (miễn phí)Chỉ bản trả phíCó (ACME v2)
Multi-domainCó (SAN)Có (bản trả phí)Không
ACME SupportKhông (Origin CA)
Public TrustCó (Universal)
Rate Limit50/tuầnKhông giới hạn3 miễn phíKhông rõ

Hướng dẫn chuyển đổi từ Let’s Encrypt#

Chuyển sang Cloudflare SSL#

  1. Chuyển DNS về Cloudflare
# Update nameservers
nslookup -type=NS example.com
bash
  1. Kích hoạt Universal SSL
  • Vào Cloudflare Dashboard > SSL/TLS
  • Chọn “Full” hoặc “Full (strict)” mode
  • Universal SSL tự động kích hoạt
  1. Cài Origin CA (nếu cần)
# Tải Origin CA certificate từ Cloudflare
# Cài lên server
sudo cp origin.pem /etc/ssl/certs/
sudo cp origin.key /etc/ssl/private/
# Cấu hình Nginx/Apache dùng certificate này
bash

Chuyển sang ZeroSSL#

  1. Tạo tài khoản ZeroSSL
  • Đăng ký tại zerossl.com
  • Lấy API key
  1. Cấu hình Certbot
# Cài ZeroSSL plugin
sudo apt install python3-certbot-dns-zero-ssl

# Tạo credentials file
echo "dns_zero_ssl_api_token = YOUR_API_TOKEN" > ~/.secrets/zero_ssl.ini
chmod 600 ~/.secrets/zero_ssl.ini

# Request certificate
certbot certonly --authenticator dns-zero_ssl \
  --dns-zero_ssl-credentials ~/.secrets/zero_ssl.ini \
  -d example.com -d *.example.com
bash

Chuyển sang Buypass#

  1. Tạo tài khoản Buypass
  • Đăng ký tại buypass.com
  • Lấy EAB credentials
  1. Cấu hình ACME client
# Với Certbot
certbot register --account-key ~/.secrets/buypass.key \
  --email your@email.com \
  --server https://api.buypass.com/acme/directory

# Request certificate
certbot certonly --server https://api.buypass.com/acme/directory \
  -d example.com
bash

Câu hỏi thường gặp#

Tôi nên chọn giải pháp nào?#

Chọn Cloudflare SSL nếu:

  • Website chạy qua Cloudflare
  • Muốn giải pháp “set and forget”
  • Cần thêm CDN/DDoS protection

Chọn ZeroSSL nếu:

  • Muốn giao diện web thân thiện
  • Cần wildcard SSL (bản trả phí)
  • Đã quen với ACME

Chọn Buypass nếu:

  • Muốn thời hạn 180 ngày
  • Cần wildcard miễn phí
  • Ở Châu Âu

Chọn Cloud Provider SSL nếu:

  • Hạ tầng trên AWS/GCP/Azure
  • Muốn managed service
  • Scale lớn

Origin CA có an toàn không?#

Origin CA an toàn khi:

  • Tất cả traffic đi qua Cloudflare proxy
  • Dùng “Full (strict)” SSL mode
  • Không bao giờ truy cập trực tiếp origin server

Không an toàn khi:

  • Có traffic direct đến origin
  • Cloudflare bị downtime
  • Need publicly trusted certificate

Có thể dùng kết hợp nhiều giải pháp không?#

Có! Ví dụ:

  • Cloudflare Universal SSL cho public traffic
  • Origin CA cho Cloudflare → Origin
  • Let’s Encrypt cho direct access routes

Kết luận#

Let’s Encrypt vẫn là lựa chọn tuyệt vời cho nhiều use case, nhưng không phải là giải pháp duy nhất. Tùy vào nhu cầu cụ thể của bạn:

  • Tiết kiệm công sức nhất: Cloudflare SSL
  • Độc lập, không proxy: ZeroSSL hoặc Buypass
  • Cloud native: AWS ACM, Google Managed SSL
  • Nhanh chóng, thủ công: SSL For Free

Key takeaway: Chọn giải pháp phù hợp với architecture và workflow của bạn, không nhất thiết phải theo đuôi “popular choice”.

Tài liệu tham khảo#