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.
Nội dung chính:
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
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
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.
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.
Thế là xong, kiểm tra xem đã hiện tích xanh chưa?
Để 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.
Bước 2: Kéo xuống phần Advanced Features => Chọn 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ỉ.
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:
Bước 5: Bạn quay lại trang quản trị Direct Admin, phần Your Account chọn Domain Setup:
Bước 6: Chọn tiếp tên miền cài https:
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.
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:
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:
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.
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ỉ:
Đấ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
Bước 6: Phần Install and Manage SSL for your site (HTTPS), chọn 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.
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:
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.
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:
Bước 4: Tích chọn Use a CA Cert và dán nội dung của CA Bundle vào => Save.
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.
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