Bỏ qua điều hướng
← Về danh sách bài viết
Chứng chỉ SSL

[Hướng dẫn] Tạo chứng chỉ SSL Let's Encrypt miễn phí cho website

Tạo chứng chỉ SSL trên Let's Encrypt không còn quá xa lạ với những người làm website. BKNS sẽ gửi đến bạn cách tạo chứng chỉ SSL miễn phí với Let's Encrypt

Let’s Encrypt là gì?

SSL là yếu tố bắt buộc nếu bạn muốn website hoạt động an toàn, tăng độ tin cậy với người dùng và đáp ứng tiêu chuẩn bảo mật của Google. Khi website có SSL, địa chỉ trang sẽ chuyển từ HTTP sang HTTPS, dữ liệu truyền giữa trình duyệt và máy chủ được mã hóa tốt hơn, hạn chế nguy cơ bị đánh cắp thông tin.

Trong số các giải pháp hiện nay, Let’s Encrypt là lựa chọn phổ biến vì cho phép người dùng tạo chứng chỉ SSL miễn phí. Tuy nhiên, không phải ai cũng biết cách cài đúng, kiểm tra đúng và xử lý lỗi sau khi kích hoạt SSL. Bài viết này của BKNS sẽ hướng dẫn chi tiết cách tạo chứng chỉ SSL miễn phí với Let’s Encrypt trên hosting, cPanel, DirectAdmin và VPS Linux.

Let’s Encrypt là gì?

Let’s Encrypt là tổ chức cấp chứng chỉ SSL/TLS miễn phí, giúp website kích hoạt HTTPS mà không cần mua chứng chỉ trả phí. Chứng chỉ này phù hợp với nhiều loại website như blog cá nhân, website giới thiệu doanh nghiệp, landing page, website tin tức, website bán hàng quy mô nhỏ hoặc hệ thống nội bộ.

Ưu điểm lớn nhất của Let’s Encrypt là miễn phí, dễ triển khai và có thể tự động gia hạn nếu hosting hoặc máy chủ được cấu hình đúng. Người dùng không cần thao tác thủ công nhiều lần nếu hệ thống đã bật AutoSSL hoặc cronjob gia hạn.

Let’s Encrypt là gì?
Let’s Encrypt là gì?

Tại sao nên cài đặt SSL cho website?

Năm 2014, Google đã chính thức thông báo rằng sẽ ưu tiên các trang web có giao thức HTTPS trên kết quả tìm kiếm. Do đó, để giảm nguy cơ bị giả mạo, đồng thời cũng để bảo vệ những thông tin quan trọng của cả người dùng, cài đặt chứng chỉ SSL sẽ là một lựa chọn vô cùng hữu ích.

Có 4 loại chứng chỉ SSL cơ bản và bạn sẽ cần chọn ra một loại phù hợp với trang web cá nhân hoặc doanh nghiệp của mình.

C3dba230-8e99-443d-8d4d-b6abcb4669d8
  • Domain Validation (DV) Đây là loại chứng chỉ thấp nhất và ai cũng có thể sử dụng bằng cách xác thực tên miền.
  • Organization Validation (OV) Chứng chỉ này cao cấp hơn DV nhằm để xác thực danh tính tổ chức.
  • Individual Validation (IV) đây là dạng xác thực danh tính cá nhân người yêu cầu chứng chỉ.
  • Extended Validation (EV) dạng chứng chỉ này cũng là xác thực danh tính tổ chức nhưng cao hơn OV.

Có muôn vàn lý do thuyết phục để bạn thực hiện cài đặt chứng chỉ ssl cho website của mình, từ bảo vệ dữ liệu người dùng cho đến cải thiện thứ hạng tìm kiếm. Nếu muốn tìm hiểu sâu hơn về các lợi ích này, bạn có thể tham khảo bài viết chi tiết về SSL tại đây.

Hướng dẫn tạo chứng chỉ SSL miễn phí với Let’s Encrypt

Let’s Encrypt sẽ một lựa chọn không thể hợp lý hơn khi bạn vừa thành lập web và muốn test nó. BKNS sẽ hướng dẫn bạn 4 bước cơ bản để tạo SSL miễn phí với Let’s Encrypt nhé.

Tùy vào mỗi nhà cung cấp hosting, bạn sẽ có một bản điều khiển riêng như cPanel hay DirectAdmin,… mỗi phiên bản cPanel sẽ khác nhau nên bạn chỉ cần tìm những thông tin và thao tác tương tự là ổn.

Bước 1: Truy cập SSH

Trong tài khoản host của mình, bạn vào Control Panel, chọn Truy cập SSH.

36f5ffc8-aabd-4968-b0cc-e3d167ebec71_1_201_a

Tại đây bạn chọn Enabled, kế tiếp chọn Cập nhật để kích hoạt truy cập SSH

E08b660f-2d81-4ad7-9646-a55404c2aa8c_4_5005_c

Những thông tin truy cập SSH như IP, port, username, password, bạn nên ghi nhớ kĩ để sử dụng.

D7e869d7-18d7-4ff2-bdf0-81edef6b31eb_4_5005_c

Bước 2: Cài đặt ACME client và Composer

Tiến hành kết nối SSH vào tài khoản của bạn: bạn sử dụng PuTTY điền các thông tin truy cập SSH bạn vừa có được và lần lượt chạy các lệnh sau trong cửa sổ command của PuTTY.

git clone https://github.com/kelunik/acme-client

cd acme-client

php -r “copy(‘https://getcomposer.org/installer’, ‘composer-setup.php’);”;

php composer-setup.php;

php -r “unlink(‘composer-setup.php’);”;

php composer.phar install –no-dev

php bin/acme setup –server letsencrypt –email your@email.com

php bin/acme issue –domains yourdomain.com,www.yourdomain.com –path /home/username/public_html –server letsencrypt

Để phù hợp với tài khoản của mình, bạn cần thay đổi your@email.com, yourdomain.com, username. 

Sau đó, bạn sử dụng trình File Manager di chuyển tới

/home/username/acme-client/data/certs/acme-v01.api.letsencrypt.org.directory/yourdomain.com

Bước này sẽ tạo ra 2 file quan trọng trong tài khoản hosting.

  • fullchain.pem: chứa thông tin certificate của bạn
  • key.pem: chứa thông tin private key của bạn

Bước 3: Cài đặt SSL từ Control Panel

Sau khi đã có 2 files là fullchain.pem và key.pem, chúng ta sẽ vào mục SSL ở Control Panel. Bạn thực hiện các bước như sau:

Chọn domain cần cài đặt

Sao chép nội dung file fullchain.pem và dán vào Certificate: (CRT)

Sao chép nội dung file file key.pem và dán vào Private Key: (KEY)

F6841142-3a14-4aba-82ad-bc8f642c753e_1_201_a

Cuối cùng, bạn chọn Cài đặt để thực hiện. Giờ bạn chỉ cần đợi một chút để quá trình cài đặt hoàn tất, bạn nhấn F5 để làm mới trình duyệt lại và xem trang web của bạn đã được lên HTTPS chưa.

Nếu có là bạn đã thành công rồi đấy! Tiếp theo, để SSL tự động gia hạn, chúng ta sẽ cài đặt Cronjob.

Bước 4: Cài đặt Cronjob

Do Let’s Encrypt chỉ cung cấp xác nhận bảo mật cho tên miền của bạn trong thời hạn 90 ngày kể từ ngày tạo nên bạn cần thực hiện chạy cronjob để gia hạn SSL này một cách tự động và đỡ tốn thời gian hơn.

Vào Control Panel, chọn “Cron Job nâng cao”

A7a08e70-50aa-43c2-840a-20716e46f745_1_201_a

Bạn nhập vào Comman để chạy bằng code sau: php acme-client/bin/acme issue –domains yourdomain.com,www.yourdomain.com –path /home/username/public_html –server letsencrypt

Sau khi hoàn tất, bạn nhấn Lưu để lưu lại quá trình nhé!

Lỗi thường gặp khi cài SSL Let’s Encrypt và cách xử lý

Trong quá trình cài SSL, người dùng có thể gặp nhiều lỗi khác nhau. Dưới đây là các lỗi phổ biến nhất.

Lỗi thường gặp

Nguyên nhân

Cách xử lý

Không cấp được SSL

Tên miền chưa trỏ đúng IP

Kiểm tra bản ghi A/CNAME và chờ DNS cập nhật

Website vẫn báo Không bảo mật

Lỗi mixed content

Đổi toàn bộ link ảnh, CSS, JS từ HTTP sang HTTPS

SSL chỉ chạy domain chính, không chạy www

Chưa cấp SSL cho www

Cấp lại SSL cho cả www và non-www

Lỗi quá nhiều chuyển hướng

Cấu hình HTTPS sai hoặc Cloudflare sai chế độ

Kiểm tra redirect và chuyển Cloudflare sang Full hoặc Full Strict

SSL hết hạn

Không bật tự động gia hạn

Kiểm tra AutoSSL, cronjob hoặc Certbot renew

Website lỗi sau khi bật HTTPS

Cấu hình URL website chưa đúng

Cập nhật lại URL trong mã nguồn hoặc CMS

Subdomain không có SSL

Subdomain chưa trỏ đúng hoặc chưa được chọn khi cấp SSL

Trỏ DNS và cấp lại SSL cho subdomain

Lỗi mixed content là lỗi thường gặp nhất sau khi bật HTTPS. Lỗi này xảy ra khi website đã chạy HTTPS nhưng vẫn tải một số tài nguyên qua HTTP, ví dụ ảnh, file CSS, JavaScript hoặc font. Khi đó, trình duyệt vẫn có thể cảnh báo website không an toàn.

Cách xử lý là thay toàn bộ đường dẫn HTTP nội bộ thành HTTPS. Với WordPress, bạn có thể dùng công cụ search and replace trong database hoặc plugin chuyên xử lý SSL.

Let’s Encrypt miễn phí và SSL trả phí khác nhau thế nào?

Let’s Encrypt phù hợp với nhiều website, nhưng không phải lúc nào cũng là lựa chọn tốt nhất. Bạn nên hiểu rõ sự khác nhau giữa SSL miễn phí và SSL trả phí trước khi quyết định.

Tiêu chí

Let’s Encrypt miễn phí

SSL trả phí

Chi phí

Miễn phí

Có phí

Loại xác thực

Chủ yếu DV SSL

DV, OV, EV, Wildcard, SAN

Mức độ xác thực

Xác thực tên miền

Có thể xác thực doanh nghiệp

Thời hạn

Ngắn, cần gia hạn định kỳ

Thường linh hoạt hơn tùy nhà cung cấp

Gia hạn

Tự động nếu cấu hình đúng

Tùy loại SSL và nhà cung cấp

Hỗ trợ kỹ thuật

Phụ thuộc hosting hoặc quản trị viên

Thường có hỗ trợ tốt hơn

Phù hợp với

Blog, website nhỏ, landing page

Doanh nghiệp, TMĐT, tài chính, hệ thống lớn

Bảo hành

Hạn chế

Có thể có mức bảo hành cao hơn

Nếu bạn vận hành website doanh nghiệp thông thường, Let’s Encrypt có thể đáp ứng tốt nhu cầu HTTPS cơ bản. Nhưng nếu website xử lý giao dịch, thanh toán, dữ liệu khách hàng hoặc cần tăng độ tin cậy thương hiệu, bạn nên cân nhắc SSL trả phí.

Một số lưu ý khi dùng Let’s Encrypt

Sau mỗi 90 ngày, bạn cần gia hạn một lần bởi Let’s Encrypt đưa ra hai nguyên nhân chính là:

  • Bảo mật: Hạn chế thiệt hại, rủi ro bị đánh cắp thông tin.
  • Khuyến khích tự động hoá và cấp phát mới chứng chỉ là cần thiết cho việc sử dụng.

Let’s Encrypt cũng khuyến nghị người dùng nên tự động gia hạn chứng chỉ của họ sau mỗi 60 ngày. Let’s Encrypt chỉ cung cấp xác thực tên miền và chỉ phù hợp nếu trang web của bạn sử dụng thử nghiệm SSL. Chứng chỉ SSL này có thể bị lỗi và làm mất ổn định trang web của bạn.

Lời kết

Qua bài viết này, BKNS đã giúp chúng ta hiểu rõ hơn Let’s Encrypt là gì và cách tạo chứng chỉ SSL miễn phí với Let’s Encrypt. Nếu bạn muốn sử dụng chứng chỉ SSL / STL cao cấp hơn, hãy liên hệ ngay với BKNS để biết thêm thông tin.