Cách cài đặt chứng chỉ SSL: 4 phương pháp, từng bước một

Hướng dẫn cài đặt chứng chỉ SSL trên trình tạo web, cPanel, Nginx hoặc Apache, hay bằng Let's Encrypt và certbot, kèm các bước kiểm tra để xác nhận hoạt động.

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

Cài đặt chứng chỉ SSL mất bao lâu?

Với trình tạo web hoặc nhà cung cấp hosting có SSL tự động, chứng chỉ thường được cấp mà bạn không cần làm gì thêm, miễn là tên miền đã trỏ đúng nơi. Với máy chủ riêng, cài thủ công mất thời gian tạo khóa, xin cấp chứng chỉ, sửa cấu hình và tải lại máy chủ. Thời gian cấp phát phụ thuộc vào tổ chức cấp chứng chỉ (CA) và phương thức xác thực, nên không có con số chung cho mọi nhà cung cấp.

Chứng chỉ Let's Encrypt có thực sự miễn phí không, và có hiệu lực bao lâu?

Có, Let's Encrypt cấp chứng chỉ miễn phí. Theo phần FAQ của Let's Encrypt, chứng chỉ mặc định có hiệu lực 90 ngày, không thể điều chỉnh, và họ khuyên nên gia hạn chứng chỉ 90 ngày sau mỗi 60 ngày. Let's Encrypt cũng đã thông báo hồ sơ mặc định sẽ chuyển sang chứng chỉ 64 ngày từ ngày 10 tháng 2 năm 2027 và 45 ngày từ ngày 16 tháng 2 năm 2028, thêm một lý do để tự động hóa việc gia hạn thay vì làm thủ công (kiểm tra tháng 11/2026).

Tại sao trình duyệt vẫn báo "Không bảo mật" sau khi tôi đã cài chứng chỉ?

Nguyên nhân phổ biến nhất là chuỗi chứng chỉ không đầy đủ (thiếu chứng chỉ trung gian), chứng chỉ được cấp cho tên khác với tên bạn đang truy cập, chẳng hạn tên miền gốc thay vì www, hoặc nội dung hỗn hợp (mixed content): trang chạy HTTPS nhưng vẫn tải hình ảnh hay script qua http://. Hãy kiểm tra chuỗi chứng chỉ bằng openssl s_client và tìm các URL http:// trong mã nguồn trang.

Chứng chỉ và khóa riêng khác nhau như thế nào?

Chứng chỉ là công khai: máy chủ gửi nó cho mọi khách truy cập. Khóa riêng nằm lại trên máy chủ và chứng minh bạn sở hữu chứng chỉ. Tài liệu Nginx nêu rằng khóa nên được lưu trong tệp có quyền truy cập hạn chế, nhưng tiến trình master của nginx vẫn phải đọc được. Nếu mất khóa, bạn không thể khôi phục và phải xin chứng chỉ mới.

Dùng trình tạo website thì có cần cài chứng chỉ SSL không?

Thường là không. Các trình tạo web có hosting thường tự động cấp và gia hạn HTTPS cho tên miền được kết nối. Việc bạn vẫn cần làm là trỏ DNS của tên miền về trình tạo web và xác nhận biểu tượng ổ khóa xuất hiện trên cả tên miền gốc lẫn phiên bản www sau khi kết nối.

Trả lời ngắn gọn: Cách cài đặt chứng chỉ SSL phụ thuộc vào nơi website của bạn đang chạy. Trên trình tạo web có hosting, mọi thứ diễn ra tự động, bạn chỉ cần kết nối tên miền. Trên hosting cPanel, AutoSSL thường lo việc này, hoặc bạn dán chứng chỉ và khóa vào công cụ SSL/TLS. Trên máy chủ Nginx hoặc Apache riêng, cách nhanh nhất là dùng Let's Encrypt với certbot: công cụ này lấy chứng chỉ, sửa cấu hình và thiết lập gia hạn. Sau khi cài đặt, hãy xác nhận ổ khóa, việc chuyển hướng từ http sang https và cơ chế gia hạn.

Phương pháp nào phù hợp với bạn?

Website của bạn chạy ở đâuBạn làm gìMức độ công sứcGia hạn
Trình tạo web có hostingKết nối tên miền; HTTPS được cấp tự độngThấp nhấtNền tảng tự xử lý
Shared hosting với cPanelDùng AutoSSL, hoặc cài chứng chỉ đã mua trong SSL/TLSThấp đến trung bìnhAutoSSL tự gia hạn; chứng chỉ đã mua thì bạn tự gia hạn
VPS riêng với Nginx hoặc ApacheChạy certbot, hoặc cài tệp chứng chỉ thủ côngTrung bìnhCertbot thiết lập tác vụ gia hạn tự động
Chứng chỉ trả phí từ nhà cung cấpTạo CSR, gửi đi, cài các tệp nhận đượcCao nhấtBạn tự gia hạn trước khi hết hạn

Nếu chưa chắc mình cần loại chứng chỉ nào (xác thực tên miền, xác thực tổ chức, wildcard), hãy đọc các loại chứng chỉ SSL trước. Nếu đang cân nhắc giữa miễn phí và trả phí, chi phí chứng chỉ SSL trình bày các lựa chọn. Về kiến thức cơ bản, xem chứng chỉ SSL là gì.

Trước khi bắt đầu: danh sách kiểm tra

Hãy rà soát danh sách này trước khi động vào máy chủ. Hầu hết các lần cài đặt thất bại đều bắt nguồn từ một mục trong đây.

  • [ ] Bản ghi A/AAAA (hoặc CNAME) của tên miền trỏ đến máy chủ hoặc nền tảng bạn đang cài đặt.
  • [ ] Bạn truy cập được website qua http:// thường trên cổng 80 nếu định dùng webroot, plugin Nginx hoặc Apache của certbot.
  • [ ] Cổng 443 đã mở trong tường lửa và nhóm bảo mật của nhà cung cấp hosting.
  • [ ] Bạn biết mọi tên mà chứng chỉ phải bao phủ: example.com và www.example.com.
  • [ ] Nếu tên miền có bản ghi CAA, ít nhất một bản ghi cho phép tổ chức cấp chứng chỉ bạn đang dùng.
  • [ ] Bạn đã sao lưu cấu hình máy chủ hiện tại.

Phương pháp 1: Trình tạo web có hosting (tự động)

Với trình tạo web có hosting, bạn không cần tạo khóa hay sửa tệp máy chủ. Quy trình chung như sau:

  1. Thêm tên miền riêng trong phần cài đặt tên miền của trình tạo web.
  2. Tại nhà đăng ký tên miền, tạo các bản ghi DNS mà trình tạo web yêu cầu.
  3. Chờ DNS lan truyền, rồi mở website bằng https:// trên cả tên miền gốc lẫn www.
  4. Nếu ổ khóa không xuất hiện, hãy kiểm tra lại các bản ghi DNS. Chứng chỉ không thể được cấp cho đến khi tên miền trỏ về nền tảng.

Thế là xong toàn bộ quy trình. Nếu bạn vẫn đang chọn nền tảng, gói miễn phí của We.Inc cho phép xuất bản tối đa ba website từ các mẫu có sẵn; trình tạo AI soạn website từ một câu lệnh bắt đầu ở gói Starter với giá $20 một tháng. Bạn có thể đăng ký tại đây.

Phương pháp 2: Hosting cPanel

cPanel có hai hướng. Hãy kiểm tra hướng thứ nhất trước khi làm hướng thứ hai.

Kiểm tra AutoSSL trước

Mở cPanel > Security > SSL/TLS Status. Theo tài liệu của cPanel, giao diện này cho phép bạn xem, nâng cấp hoặc gia hạn chứng chỉ của các tên miền, và phát hiện tên miền chưa được bảo mật hoặc sắp hết hạn. Nếu tên miền chưa có chứng chỉ hợp lệ, hãy chạy AutoSSL từ cùng màn hình này nếu nhà cung cấp hosting đã bật. Nhà cung cấp hosting quyết định tính năng này có khả dụng hay không (được thiết lập trong Feature Manager của WHM), nên nếu không thấy, hãy hỏi nhà cung cấp.

Cài chứng chỉ đã mua thủ công

  1. Vào cPanel > Security > SSL/TLS. Ở phần khóa riêng (private keys), tạo một khóa (hoặc tải lên khóa bạn đã có). cPanel cảnh báo rằng khóa riêng bị mất không thể khôi phục, nên hãy lưu một bản sao ở nơi an toàn.
  2. Tạo yêu cầu ký chứng chỉ (CSR) cho tên miền và gửi cho nhà cung cấp chứng chỉ.
  3. Hoàn tất bước xác thực tên miền của nhà cung cấp rồi tải về chứng chỉ và gói CA (CA bundle).
  4. Quay lại khu vực SSL/TLS, mở màn hình cài đặt và quản lý SSL cho website, rồi dán chứng chỉ, khóa riêng tương ứng và gói CA vào.
  5. Lưu lại, rồi kiểm tra website qua https://.

Tài liệu của cPanel lưu ý rằng bản ghi CAA trong tệp vùng (zone file) giới hạn những tổ chức cấp chứng chỉ nào được phép cấp cho tên miền của bạn. Nếu việc cấp chứng chỉ thất bại, hãy kiểm tra Zone Editor tại cPanel > Domains > Zone Editor xem có bản ghi CAA xung đột không.

Tên giao diện có thể thay đổi giữa các phiên bản cPanel, nên hãy dựa vào nhãn trên màn hình nếu bố cục của bạn hơi khác.

Phương pháp 3: Let's Encrypt với certbot (Nginx hoặc Apache)

Đây là cách chuẩn cho VPS hoặc máy chủ riêng do bạn tự quản lý. Các bước dưới đây theo hướng dẫn của Certbot cho Nginx trên Linux dùng snap (kiểm tra tháng 11/2026). Trang của Certbot có hướng dẫn tương ứng cho Apache và các hệ thống khác, hãy chọn đúng tổ hợp của bạn ở đó.

  1. Đảm bảo website của bạn đã phản hồi tại http://yourdomain.com. Chế độ Nginx và Apache của certbot cần một website HTTP đang có sẵn và truy cập được qua cổng 80.
  2. Nếu bạn có certbot cũ cài từ trình quản lý gói của hệ điều hành, hãy gỡ nó trước (ví dụ bằng apt, dnf hoặc yum).
  3. Cài certbot:

``bash sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/local/bin/certbot ``

  1. Lấy chứng chỉ và để certbot tự động sửa cấu hình Nginx:

``bash sudo certbot --nginx ``

Nếu chỉ muốn lấy chứng chỉ và tự sửa cấu hình, hãy dùng sudo certbot certonly --nginx. Với Apache, cờ tương đương là --apache.

  1. Kiểm tra việc gia hạn tự động:

``bash sudo certbot renew --dry-run ``

Các gói của certbot đi kèm một tác vụ cron hoặc systemd timer để gia hạn chứng chỉ trước khi hết hạn, và systemctl list-timers cho biết timer có đang hoạt động không. Nếu cổng 80 bị chặn, hoặc bạn muốn chứng chỉ wildcard, hãy dùng xác thực DNS.

Phương pháp 4: Cài tệp chứng chỉ thủ công trong Nginx

Dùng cách này khi nhà cung cấp đã đưa bạn tệp chứng chỉ và gói CA. Tài liệu Nginx mô tả các thành phần cần thiết: tham số ssl trên socket lắng nghe, cùng đường dẫn chứng chỉ và khóa.

``nginx server { listen 443 ssl; server_name www.example.com; ssl_certificate www.example.com.chained.crt; ssl_certificate_key www.example.com.key; } ``

Hai chi tiết gây ra phần lớn lỗi khi cài thủ công:

  • Thứ tự chuỗi. Nếu nhà cung cấp đưa gói chứng chỉ, hãy nối các tệp với chứng chỉ máy chủ của bạn ở đầu: cat www.example.com.crt bundle.crt > www.example.com.chained.crt. Tài liệu Nginx cảnh báo rằng đảo ngược thứ tự sẽ khiến nginx không khởi động được với lỗi "key values mismatch".
  • Quyền của khóa. Tệp khóa riêng nên có quyền truy cập hạn chế nhưng tiến trình master của nginx vẫn phải đọc được.

Mặc định nginx dùng TLSv1.2 và TLSv1.3, nên thường bạn không cần khai báo giao thức một cách tường minh. Chạy sudo nginx -t để kiểm tra cấu hình, rồi tải lại nginx.

Với Apache, ba thành phần tương tự cũng áp dụng: bật module SSL, trỏ virtual host SSL đến tệp chứng chỉ, khóa và chuỗi của bạn, rồi kiểm tra cấu hình và tải lại. Tên chỉ thị khác với Nginx, nên hãy làm theo tài liệu Apache của bản phân phối bạn dùng.

Kiểm tra sau khi cài đặt

Đừng dừng lại ở "website tải được". Hãy kiểm tra từng mục:

  1. Ổ khóa trên cả hai tên. Truy cập https://example.com và https://www.example.com.
  2. Chuyển hướng. Mở http://example.com và xác nhận nó chuyển sang https://.
  3. Chuỗi chứng chỉ. Chạy openssl s_client -connect example.com:443, lệnh mà tài liệu Nginx gợi ý để xác nhận máy chủ gửi đầy đủ chuỗi.
  4. Nội dung hỗn hợp. Mở bảng điều khiển dành cho nhà phát triển của trình duyệt trên vài trang và tìm các yêu cầu http:// bị chặn. Cập nhật các URL đó sang https://.
  5. Hết hạn và gia hạn. Ghi lại ngày hết hạn và xác nhận việc gia hạn là tự động, hoặc đặt ngày đó vào lịch của bạn.

Danh sách xử lý sự cố nhanh

  • Trình duyệt cảnh báo nhà phát hành không đáng tin: thiếu chứng chỉ trung gian. Hãy tạo lại tệp chuỗi như hướng dẫn ở trên.
  • Nginx không khởi động sau khi thay đổi: kiểm tra thứ tự chứng chỉ và khóa, và xem khóa có khớp với chứng chỉ không.
  • Certbot không xác thực được: xác nhận DNS trỏ về máy chủ này và cổng 80 đang mở, hoặc chuyển sang xác thực DNS.
  • Chứng chỉ bao phủ sai tên: cấp lại với cả tên miền gốc và www trong danh sách.

Nếu bạn đang xây dựng website cho dịch vụ địa phương và muốn xếp hạng cao, HTTPS chỉ là nền tảng. Hãy xem cách các thợ lắp đặt điện mặt trời và các thợ lắp máng xối xây dựng website của họ cho các bước tiếp theo.

Bắt đầu miễn phí · Không cần thẻ tín dụng

Umair Ali Sadaqat

Nhà sáng lập We.Inc

Umair là nhà sáng lập We.Inc. Anh viết về xây dựng website bằng AI, các agency và việc kinh doanh, vận hành một studio web.

Sẵn sàng tạo nên điều tuyệt vời?

Tham gia cùng 15,000+ doanh nghiệp đang dùng We.Inc để ra mắt, phát triển và tự động hóa, tất cả trên một nền tảng.

Bắt đầu miễn phí

Không cần thẻ tín dụng · Liên hệ bộ phận kinh doanh

Liên quan: Blog

Sản phẩm

Dành cho ai

Tính năng

Tài nguyên

Công ty

Sơ đồ trang