Giới thiệu
SSL (Secure Socket Layer) là giao thức mã hoá giúp bảo mật dữ liệu truyền giữa trình duyệt và máy chủ. Việc triển khai chứng chỉ SSL miễn phí như Let’s Encrypt không chỉ nâng cao độ tin cậy mà còn cải thiện SEO. Bài viết sẽ hướng dẫn chi tiết cách cài đặt và cấu hình SSL trên hai web server phổ biến: Nginx và Apache.
Chuẩn bị môi trường
- Máy chủ Linux (Ubuntu 22.04 hoặc tương đương)
- Quyền
roothoặcsudo - Tên miền đã trỏ DNS về IP máy chủ
- Web server đã cài đặt và chạy (Nginx hoặc Apache)
Cài đặt Certbot
Certbot là công cụ chính thức của Let’s Encrypt để tự động lấy và gia hạn chứng chỉ.
sudo apt update sudo apt install -y certbot
Tiếp theo, cài đặt plugin cho web server tương ứng.
# Đối với Nginx sudo apt install -y python3-certbot-nginx # Đối với Apache sudo apt install -y python3-certbot-apache
Triển khai SSL trên Nginx
Bước 1: Lấy chứng chỉ
Sử dụng lệnh sau, Certbot sẽ tự động cấu hình Nginx và tạo file chứng chỉ.
sudo certbot --nginx -d example.com -d www.example.com
Trong quá trình chạy, bạn sẽ được hỏi chọn chuyển hướng HTTP sang HTTPS hay không; nên chọn Yes để đảm bảo mọi yêu cầu đều được bảo mật.
Bước 2: Kiểm tra cấu hình
Mở file cấu hình Nginx để xác nhận các chỉ thị SSL đã được thêm.
sudo cat /etc/nginx/sites-enabled/example.com
Bạn sẽ thấy các dòng tương tự:
listen 443 ssl; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
Bước 3: Kiểm tra lại Nginx
sudo nginx -t sudo systemctl reload nginx
Nếu không có lỗi, truy cập https://example.com để xác nhận chứng chỉ hoạt động.
Triển khai SSL trên Apache
Bước 1: Lấy chứng chỉ
sudo certbot --apache -d example.com -d www.example.com
Certbot sẽ tự động chỉnh sửa file .conf của Apache, bật SSLEngine on và chèn đường dẫn chứng chỉ.
Bước 2: Kiểm tra cấu hình
sudo apachectl configtest
Nếu thông báo Syntax OK xuất hiện, tiến hành khởi động lại Apache.
sudo systemctl reload apache2
Bước 3: Kiểm tra HTTPS
Mở trình duyệt và truy cập https://example.com. Nếu thanh địa chỉ hiển thị ổ khóa xanh, chứng chỉ đã được cài đặt thành công.
Gia hạn chứng chỉ tự động
Let’s Encrypt chứng chỉ có thời hạn 90 ngày. Certbot cung cấp cron job hoặc systemd timer để tự động gia hạn.
sudo systemctl list-timers | grep certbot
Hoặc kiểm tra thủ công:
sudo certbot renew --dry-run
Kết luận
Việc cấu hình SSL trên Nginx và Apache không quá phức tạp nếu bạn nắm rõ quy trình cài đặt Certbot và kiểm tra cấu hình. Khi đã có HTTPS, website của bạn sẽ an toàn hơn, cải thiện thứ hạng SEO và tạo niềm tin cho người dùng.
Để nắm vững toàn bộ quy trình Deploy Web, Tham khảo khóa học "Deploy Web - Triển khai website lên môi trường Internet" tại đây.








