Hướng dẫn cài HTTPS sử dụng SSL miễn phí Let’s Encrypt

Giao thức bảo mật https đang là xu hướng tất yếu cho mọi website hiện nay. Google cũng đã đưa https vào thuật toán xếp hạng trong seo nên chẳng có lý do gì khiến bạn cứ trung thành mãi với http đúng không? Trong bài viết này tôi sẽ hướng dẫn các bạn cài đặt https cho website sử dụng chứng chỉ ssl miễn phí của Let’s Encrypt.

Đối với các bạn dùng VPS thì thôi khỏi hướng dẫn vì dùng được VPS chắc chắn sẽ tự tìm hiểu để cài được SSL. Bài viết này dành cho các bạn dùng web hosting thôi.

Trước tiên, nếu các bạn chưa mua host thì phải tìm hiểu kỹ về gói host bạn định mua xem có hỗ trợ https không. Nếu không hỗ trợ thì chịu nhé! Các bạn xem thông tin gói host trên web, nếu không thấy nhắc đến https thì chắc là không hỗ trợ đâu. Tốt nhất là gọi điện trực tiếp hỏi cho nhanh.

Nếu có hỗ trợ thì hỗ trợ theo kiểu gì?

  • Nhà cung cấp dịch vụ hosting của bạn sẽ tích hợp sẵn tính năng SSL/TSL vào phần quản lý gói host cho bạn chủ động cài đặt.
  • Một số nhà cung cấp hosting tốt bụng hơn sẽ cài sẵn plugin của Let’s Encrypt vào phần quản lý hosting. Bạn có thể cài SSL chỉ với vài thao tác đơn giản.

Trong phạm vi bài viết này tôi hướng dẫn với 2 phần mềm quản trị hosting phổ biến nhất là cPanel và DirectAdmin. Các phần mềm quản lý kém phổ biến hơn các bạn tự tìm hiểu nhé (nó cũng na ná nhau thôi).

Trước khi thực hiện các cài đặt dưới đây, các bạn bắt buộc phải trỏ tên miền về hosting trước.

Hosting cài sẵn Let’s Encrypt

Mặc định chứng chỉ SSL của Let’s Encrypt chỉ có thời hạn là 90 ngày nhưng hosting đã cài plugin Let’s Encrypt rồi thì nó sẽ tự động gia hạn cho bạn, yên tâm không phải lo lắng gì cả.

Với cPanel

Bước 1: Các bạn đăng nhập vào cPanel, vào phần Security => Let’s Encrypt SSL

Let’s Encrypt SSL
Let’s Encrypt SSL

Bước 2: Trong danh sách tên miền bên dưới, click vào nút +Issue tương ứng với domain bạn muốn cài đặt SSL. Ví dụ của tôi là dovanphuong.com

Danh sách domain

Bước 3: Lựa chọn tất cả tên miền hoặc tên miền phụ sẽ sử dụng SSL. Tại đây bạn có thể để mặc định, hoặc bỏ bớt mail đi nếu không dùng. Sau đó nhấn nút Issue để tiến hành cài đặt.

Kích hoạt SSL Let's Encrypt

Lưu ý:

  • Tên miền phải trỏ về hosting rồi thì mới thực hiện bước này không sẽ xảy ra lỗi.
  • Nếu trong thư mục domain chính có file .htaccess thì bạn phải xóa (hoặc đổi tên) nó đi trước. Sau khi cài xong https bạn có thể khôi phục lại.

Bước 4: Nếu cài đặt thành công thì bạn sẽ nhận được thông báo kiểu như vậy:

The SSL certificate is now installed onto the domain “dovanphuong.com” using the IP address “103.74.116.214”. Apache is restarting in the background.”

Quay trở lại phần Let’s Encrypt SSL ở bước đầu tiên bạn sẽ thấy domain đã được cài đặt chứng chỉ SSL thành công. Có thể click nút View để xem thông tin chi tiết.

Cài Let's Encrypt thành công

Thế là xong, kiểm tra xem đã hiện tích xanh chưa?

Trang web sử dụng https
Trang web sử dụng https

Để cài đặt chứng chỉ SSL cho tên miền khác bạn làm tương tự theo hướng dẫn trên.

Với DirectAdmin

Bước 1: Đăng nhập vào Direct Admin, chọn tên miền bạn muốn cài https.

Chọn tên miền cài https
Chọn tên miền cài https

Bước 2: Kéo xuống phần Advanced Features => Chọn SSL Certificates:

SSL Certificates

Bước 3: Chọn mục Free & automatic certificate from Let’s Encrypt và điền các thông tin đăng ký chứng chỉ.

Cài SSL của Let's Encrypt
Cài SSL của Let’s Encrypt

Bạn điền email để nhận thông báo từ Let’s Encrypt (khi chứng chỉ sắp hết hạn). Các mục khác cứ để mặc định cũng được.

Bước 4: Nếu thành công bạn sẽ nhận được thông báo kiểu như này:

Cài SSL thành công với DirectAdmin
Thông báo cài chứng chỉ SSL thành công

Bước 5: Bạn quay lại trang quản trị Direct Admin, phần Your Account chọn Domain Setup:

Domain setup

Bước 6: Chọn tiếp tên miền cài https:

Chọn cài đặt tên miền

Bước 7: Tích chọn Secure SSL => Save. Xong thì bạn chọn: Use a symbolic link from private_html to public_html – allows for same data in http and https. Save tiếp lần nữa.

Cài SSL

Xong, kiểm tra xem web đã hoạt động với giao thức https chưa?

Lưu ý: Nếu web server của bạn không tự động gia hạn chứng chỉ thì chỉ cần làm lại từ bước 1 đến bước 4 là được.

Hosting không cài sẵn plugin Let’s Encrypt

Chứng chỉ SSL của Let’s Encrypt chỉ có thời hạn là 90 ngày. Vì web server không có sẵn plugin nên nó không thể tự động gia hạn được mà bạn phải gia hạn thủ công. Do đó khi chứng chỉ hết hạn thì bạn phải thao tác lại từ đầu theo hướng dẫn dưới đây:

cPanel

Bước 1: Vào website này: https://www.sslforfree.com. Dán domain bạn muốn đăng ký SSL vào. Click nút Create Free SSL Certificate:

Nhập tên miền cần đăng ký SSL

Bước 2: Bạn cần xác minh quyền sở hữu tên miền bằng 1 trong 3 cách dưới đây:

Manually Verify Domain

Automatic FTP Verification: Sử dụng tài khoản FTP để xác minh (không nên dùng)

Manual Verification: Xác minh bằng cách thủ công. Bạn sẽ tải file về rồi up lên host để xác minh (nên dùng vì đơn giản nhất)

Manual Verification (DNS): Xác minh bằng cách tạo thêm các bản ghi TXT (không nên dùng vì phải chờ đợi)

Bước 3: Bạn click nút Retry Manual Verification nó sẽ hiện ra link download các file xác minh.

File xác minh tên miền

Tóm gọn các bước bạn phải làm như này:

  • Tải 2 file kia về (#1 và #2)
  • Tạo thư mục đặt tên là .well-known (có dấu chấm ở đầu nhé) trong thư mục root của website. Vì tên thư mục có dấu chấm ở đầu nên có thể sẽ bị ẩn khi xem bằng cPanel File Manager. Bạn vào Settings (phía tay phải) và chọn Show hidden files để xem nhé. Hoặc dùng phần mềm FTP như Filezilla hoặc FlashFXP sẽ nhìn thấy thư mục ẩn.
  • Tạo tiếp thư mục đặt tên là acme-challenge nằm bên trong thư mục .well-known vừa tạo ở trên.
  • Upload 2 file kia vào trong thư mục acme-challenge.

Bước 4: Sau đó các bạn click nút Download SSL Certificate ở cuối trang sẽ nhận được các file chứng chỉ:

Tạo chứng chỉ SSL thành công

Đấy 3 đoạn mã cấu hình SSL, bao gồm: Certificate, Private Key, CA Bundle.

Bước 5: Bạn vào trang quản lý cPanel, phần Security => Chọn SSL/TLS

SSL trong cPanel

Bước 6: Phần Install and Manage SSL for your site (HTTPS), chọn Manage SSL sites.

manage ssl sites

Bước 7: Kéo xuống phần Install an SSL Website, mục Domain bạn chọn chính xác tên miền muốn cài https.

Copy nội dung của Certificate, Private Key, CA Bundle ở bước 4 dán vào các ô tương ứng.

Cấu hình SSL

Sau đó kéo xuống cuối trang, ấn nút Install Certificate để cài đặt chứng chỉ. Nếu nhận được thông báo như này là thành công:

Cài SSL thành công

Kiểm tra thử xem website đã hoạt động với giao thức https chưa?

Lưu ý: Bạn nên đăng ký 1 tài khoản tại sslforfree.com để dễ dàng quản lý các chứng chỉ SSL. Khi nhận được thông báo hết hạn bạn chỉ cần đăng nhập vào để renew.

DirectAdmin

Bước 1: Bạn vào trang https://www.sslforfree.com. Làm tương tự như hướng dẫn với cPanel ở trên đến hết bước 4 (nhận được Certificate, Private Key, CA Bundle).

Bước 2: Bạn vào trang quản lý DirectAdmin, chọn tên miền cần cài https, kéo xuống phần Advanced Features chọn SSL Certificates. Tích chọn Paste a pre-generated certificate and key. Dán nội dung của Certificate và Private Key vào => Save.

Khai báo SSL

Bước 3: Sau khi save xong thì kéo xuống dưới, click vào nút Click Here ở dòng to paste a CA Root Certificate:

CA Root Certificate

Bước 4: Tích chọn Use a CA Cert và dán nội dung của CA Bundle vào => Save.

Certification Authority

Bước 5: Quay lại trang quản trị DirectAdmin, chọn Domain Setup, chọn tên miền, tích chọn Secure SSL => Save. Tích chọn Use a symbolic link from private_html to public_html – allows for same data in http and https => Save tiếp là xong.

Cài SSL

Test thử xem https hoạt động chưa?

Kết luận

Với mỗi nhà cung cấp dịch vụ hosting thì giao diện quản trị có thể sẽ hơi khác một chút nhưng về cơ bản là giống nhau. Ví dụ phần đặt tên cho plugin của Let’s Encrypt thì có nhà cung cấp để tên là Let’s Encrypt SSL, hoặc Let’s Encrypt Plugin, hoặc Free SSL Let’s Encrypt,… Bạn cứ xem kỹ hướng dẫn trong bài này sẽ làm được.

Với website mới xây dựng thì bạn nên cài https từ đầu. Với website đang hoạt động rồi thì sau khi cài https bạn phải redirect 301 toàn bộ URL cũ (http) sang URL mới (https) và cài đặt lại trong Google Webmaster Tool để từ khóa không bị mất thứ hạng. Xem thêm bài viết này: Chuyển từ HTTP sang HTTPS không bị mất thứ hạng từ khóa SEO

Theo dõi bài viết
Nhận thông báo
guest
4 Bình luận
mới nhất
cũ nhất
Inline Feedbacks
Xem tất cả bình luận
4
0
Gửi bình luận của bạn về bài viết này.x