Hướng Dẫn Cài Đặt SSL cho website: Tự Ký & SSL Miễn Phí Cloudflare

Published on
7 mins read
--- views

NOTE

Bài viết này sẽ giúp bạn hiểu rõ SSL là gì, vì sao cần SSL, và hướng dẫn từng bước cài đặt SSL trên Linux: tự ký, Let’s Encrypt, và Cloudflare. Dù bạn là người mới hay webmaster lâu năm, đọc xong là tự tin bảo vệ website luôn!


SSL Là Gì? Vì Sao Website Cần SSL?

SSL (Secure Sockets Layer) là công nghệ mã hóa giúp bảo vệ dữ liệu truyền giữa trình duyệt và server. Khi website có SSL, địa chỉ sẽ là https:// và có biểu tượng ổ khóa xanh. Điều này giúp tăng uy tín, bảo mật thông tin khách hàng, và còn giúp SEO tốt hơn.

Nếu không có SSL, dữ liệu dễ bị đánh cắp, website bị cảnh báo "không an toàn" trên trình duyệt. Đặc biệt, Google ưu tiên website có SSL trên kết quả tìm kiếm!

Hướng dẫn cài đặt SSL cho website

Các Cách Cài Đặt SSL Trên Linux

Có 3 cách phổ biến:

  • Tự tạo chứng chỉ SSL (self-signed): Dùng cho test, nội bộ, không khuyến khích cho website public.
  • Sử dụng SSL miễn phí Let’s Encrypt: Được hầu hết trình duyệt tin cậy, dễ cài đặt, tự động gia hạn.
  • Sử dụng SSL miễn phí Cloudflare: Không cần thao tác trên server, chỉ cần trỏ domain về Cloudflare.

Bây giờ, mình sẽ hướng dẫn chi tiết từng cách nhé!


Tự Tạo Chứng Chỉ SSL (Self-Signed)

Cách này phù hợp cho môi trường test, dev, hoặc nội bộ. Website public thì không nên dùng vì trình duyệt sẽ cảnh báo "không an toàn".

Bước 1: Tạo Private Key và Certificate

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/selfsigned.key -out /etc/ssl/certs/selfsigned.crt
  • Nhập thông tin theo hướng dẫn (có thể bỏ qua một số trường nếu không cần).

Bước 2: Cấu Hình Web Server Sử Dụng SSL

Apache:

Mở file cấu hình site (ví dụ: /etc/apache2/sites-available/yourdomain.com.conf):

<VirtualHost *:443>
    ServerName yourdomain.com
    DocumentRoot /var/www/yourdomain.com
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/selfsigned.crt
    SSLCertificateKeyFile /etc/ssl/private/selfsigned.key
</VirtualHost>

Kích hoạt SSL và reload Apache:

a2enmod ssl
a2ensite yourdomain.com.conf
systemctl reload apache2

Nginx:

Mở file cấu hình site (ví dụ: /etc/nginx/sites-available/yourdomain.com):

server {
    listen 443 ssl;
    server_name yourdomain.com;
    root /var/www/yourdomain.com;
    ssl_certificate /etc/ssl/certs/selfsigned.crt;
    ssl_certificate_key /etc/ssl/private/selfsigned.key;
}

Reload Nginx:

systemctl reload nginx

Cài Đặt SSL Miễn Phí Let’s Encrypt (Certbot)

Let’s Encrypt là lựa chọn số 1 cho website public. Miễn phí, tự động gia hạn, được mọi trình duyệt tin cậy.

Bước 1: Cài Certbot

Với Apache:

apt install certbot python3-certbot-apache -y

Với Nginx:

apt install certbot python3-certbot-nginx -y

Bước 2: Cấp Chứng Chỉ SSL

Apache:

certbot --apache -d yourdomain.com

Nginx:

certbot --nginx -d yourdomain.com

Làm theo hướng dẫn, nhập email, đồng ý điều khoản, chọn redirect HTTP sang HTTPS.

Bước 3: Thiết Lập Tự Động Gia Hạn

Certbot sẽ tự động gia hạn, nhưng bạn nên kiểm tra:

systemctl status certbot.timer

Có thể test thử gia hạn:

certbot renew --dry-run

Sử Dụng SSL Miễn Phí Cloudflare

Cloudflare cung cấp SSL miễn phí cho mọi website, chỉ cần trỏ domain về Cloudflare là được. Phù hợp cho cả người mới lẫn webmaster lâu năm.

Bước 1: Đăng Ký & Thêm Website Vào Cloudflare

  • Đăng ký tài khoản tại Cloudflare
  • Thêm website, làm theo hướng dẫn để trỏ nameserver domain về Cloudflare

Bước 2: Bật SSL/TLS Trên Cloudflare

  • Vào tab SSL/TLS, chọn chế độ "Full" hoặc "Full (strict)" để bảo mật tối đa
  • Cloudflare sẽ tự động cấp chứng chỉ SSL cho website của bạn

Bước 3: Cấu Hình Web Server (Khuyến nghị)

  • Nếu dùng chế độ "Full (strict)", bạn nên cài đặt chứng chỉ gốc của Cloudflare lên server:
    • Vào SSL/TLS > Origin Server > Create Certificate
    • Tải về file .pem và .key, cấu hình như hướng dẫn ở phần self-signed phía trên
  • Nếu chỉ dùng "Full", không cần thao tác gì thêm

Bước 4: Chuyển Hết HTTP Sang HTTPS

  • Vào tab "SSL/TLS > Edge Certificates", bật "Always Use HTTPS"
  • Có thể bật thêm "Automatic HTTPS Rewrites" để tự động chuyển link cũ sang HTTPS

HTTP/2, HTTP/3 Là Gì? Cách Kích Hoạt

HTTP/2 và HTTP/3 là các phiên bản mới của giao thức HTTP, giúp website tải nhanh hơn, bảo mật tốt hơn so với HTTP/1.1 truyền thống. HTTP/2 sử dụng multiplexing (gửi nhiều request cùng lúc trên 1 kết nối), giảm độ trễ. HTTP/3 dựa trên giao thức QUIC, tối ưu tốc độ và bảo mật, đặc biệt hiệu quả trên mạng không ổn định.

Cách Kích Hoạt HTTP/2

Apache

  • Đảm bảo đã cài SSL (HTTPS).
  • Kích hoạt module http2:
a2enmod http2
systemctl restart apache2
  • Thêm dòng sau vào VirtualHost (trong file cấu hình site):
Protocols h2 http/1.1

Nginx

  • Đảm bảo đã cài SSL (HTTPS).
  • Thêm http2 vào dòng listen:
listen 443 ssl http2;
  • Reload lại Nginx:
systemctl reload nginx

Cách Kích Hoạt HTTP/3

Nginx (bản mới)

  • Cần Nginx bản build với QUIC/HTTP3 (hoặc dùng OpenResty, hoặc build thủ công).
  • Thêm vào cấu hình:
listen 443 ssl http2;
listen 443 quic reuseport;
ssl_protocols TLSv1.3;
ssl_prefer_server_ciphers off;
add_header Alt-Svc 'h3=":443"; ma=86400';
add_header QUIC-Status $quic;
  • Tham khảo hướng dẫn chi tiết tại nginx.org.

Cloudflare:

  • Vào dashboard Cloudflare, chọn website > SSL/TLS > Edge Certificates > bật "HTTP/3 (with QUIC)".
  • Không cần thao tác gì trên server, Cloudflare sẽ tự xử lý.

Lưu ý:

  • HTTP/2HTTP/3 đều yêu cầu website phải dùng HTTPS (SSL).
  • Sau khi cấu hình, kiểm tra bằng HTTP/2 Test hoặc HTTP/3 Test để xác nhận website đã hỗ trợ.

Một Số Lưu Ý Khi Cài Đặt SSL

  • Luôn backup cấu hình trước khi thay đổi
  • Kiểm tra lại website sau khi cài SSL, đảm bảo không bị lỗi "mixed content"
  • Nếu dùng Cloudflare, nên bật thêm các tính năng bảo mật như DDoS Protection, Firewall Rules
  • Định kỳ kiểm tra hạn chứng chỉ, nhất là khi dùng self-signed hoặc Let’s Encrypt thủ công

Câu Hỏi Thường Gặp (FAQ)

SSL miễn phí có an toàn không?

Hoàn toàn an toàn nếu bạn dùng Let’s Encrypt hoặc Cloudflare. Được các trình duyệt lớn tin cậy, bảo mật tốt, không thua gì SSL trả phí cho website thông thường.

Nên chọn Let’s Encrypt hay Cloudflare?

Let’s Encrypt phù hợp nếu bạn muốn kiểm soát hoàn toàn server. Cloudflare tiện lợi, không cần thao tác trên server, lại có thêm nhiều tính năng bảo mật khác.

Làm sao kiểm tra website đã cài SSL thành công?

Truy cập website, xem có ổ khóa xanh không. Hoặc dùng SSL Labs để kiểm tra chi tiết.


Lời Kết

Cài SSL cho website không hề khó, chỉ cần làm đúng hướng dẫn là bạn đã bảo vệ website, tăng uy tín và chuẩn SEO hơn rất nhiều. Nếu gặp khó khăn, hãy để lại bình luận hoặc liên hệ mình nhé. Chúc bạn thành công và website luôn an toàn!

Bình luận (0)

SănVPS Blog's
SănVPS là trang chuyên chia sẻ kiến thức công nghệ, khuyến mại VPS, Hosting, mã giảm giá tên miền. Quản lý và sử dụng VPS, Hosting hiệu quả.
[::1]:443 - Ho Chi Minh,