Cài đặt chứng chỉ ssl miễn phí. Hiện nay hầu hết các trang web đều đã hỗ trợ
SSL (Secure Socket Layer). Nó mã hóa dữ liệu truyền đi giữa máy chủ web và trình duyệt và làm tăng tính bảo mật cho website.
Ngoài ra, việc sử dụng
SSL certificate (chứng chỉ SSL) là cần thiết bởi hiện tại Google đã ưu tiên xếp hạng website dựa theo giao thức
https (HTTP + SSL), những website mà chỉ sử dụng giao thức http sẽ bị coi là “unsafe” (không an toàn).
Để cài đặt chứng chỉ ssl miễn phí cho site trên VPS/Server ta có 2 cách:
- Sử dụng chứng chỉ của Let’s Encrypt
- Sử dụng chứng chỉ của CloudFlare
Trong bài viết này. UpForShare chia sẻ 2 cách
cài đặt chứng chỉ ssl miễn phí được sử dụng phổ biến nhất trên thế giới. Minh hoạ trên VPS CentOS 7, 8, các hệ điều hành khác tương tự.
Cài đặt chứng chỉ ssl miễn phí Let’s Encrypt
Let’s Encrypt là một nhà cung cấp chứng chỉ số SSL (Certificate Authority) hoàn toàn miễn phí nhằm cung cấp chứng nhận SSL cho cộng đồng nói chung. Let’s Encrypt được tài trợ bởi nhiều công ty bao gồm Google, Facebook, Sucuri, Mozilla, Cisco, v.v… chúng ta sẽ sử dụng
Certbot auto.
Cài đặt SSL miễn phí với Certbot auto

Trước tiên, bạn truy cập vào:
|
https://certbot.eff.org/instructions |
Tại mục:
My HTTP website is running các bạn chọn loại web server và hệ điều hành tương ứng mà bạn đang sử dụng. Ví dụ ở đây tôi chạy OpenLiteSpeed trên CentOS 7 thì sẽ chọn như sau:

Cuộn trang xuống dưới certbot.eff.org sẽ có hướng dẫn chi tiết các bước cài đặt:
Để chuẩn bị cài đặt certbot, bạn cần quyền root và login SSH vào VPS, tất nhiên rồi, mặt khác VPS của bạn phải cài đặt sẵn
EPEL (Extra Packages for Enterprise Linux) repository như bài này đã hướng dẫn.
Tiếp theo, cài đặt một số thư viện bổ sung
|
yum -y install yum-utils yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional |
Cài đặt certbot:
Quá trình cài đặt thành công, bạn sử dụng lệnh sau để cài đặt chứng chỉ ssl cho website mà không làm ảnh hưởng gì tới website đang vận hành:
|
certbot certonly --webroot |
Ở lần đầu tiên xác minh, certbot sẽ hỏi bạn điền email để xác thực và nhận các thông báo. Sau đó certbot sẽ yêu cầu bạn nhập domain muốn cài ssl.
Bạn nhập vào các domain muốn cài SSL. Ví dụ:
domain-cua-ban.com và
www.domain-cua-ban.com
Kế tiếp, certbot yêu cầu bạn nhập đường dẫn thư mục gốc của website (webroot), bạn dán vào nhé (chính là đường dẫn thư mục đến file index).
Done. Certbot sẽ auto làm hết cho bạn, đến khi xuất hiện thông báo có dạng:
|
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/domain-cua-ban.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/domain-cua-ban.com/privkey.pem Your cert will expire on 2020-03-03. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" ... |
Là bạn đã cài đặt thành công. Hãy lưu lại vị trí các file chứng chỉ
/etc/letsencrypt/live/… để phục vụ cấu hình SSL trên web server.
Nếu là OpenLiteSpeed thì bạn dán vị trí 2 tệp chứng chỉ đó vào đây:

Cấu hình thêm SSL Protocol và Security, thiết lập Rewrite Rules để chuyển hướng www về non-www và http về https như sau:
|
# www to non-www RewriteCond %{HTTP_HOST} !^domain-cua-ban\.com$ RewriteRule (.*)$ https://domain-cua-ban.com/$1 [R=301,L] # http to HTTPS RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://domain-cua-ban.com/$1 [R,L] |
Đừng quên thay
domain-cua-ban nhé 🙂
Như thế là url website của bạn đã có khoá bảo mật https
Bây giờ chạy crontab cho nó tự động check và gia hạn chứng chỉ:
Crontab Renew SSL của Certbot
|
crontab -e bấm phím i (insert) 0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew > /dev/null Esc :wq |
Tuy nhiên, nếu crontab theo hướng dẫn trên của certbot không hoạt động trên VPS/Server của bạn thì cũng đừng lo lắng. Hãy thử Crontab Renew SSL của Upforshare như dưới đây:
0 9 * * * certbot renew --post-hook "/usr/local/lsws/bin/lswsctrl restart" >> /var/log/lich-su-gia-han-certbot.log
Trong đó:
0 9 * * *
là để chạy lệnh gia hạn vào 9h sáng hàng ngày, đổi lại nếu bạn thích. Lưu ý
đổi múi giờ hệ thống của máy chủ
"/usr/local/lsws/bin/lswsctrl restart"
là để khởi động lại web server của bạn, ở đây là OpenLiteSpeed, nếu bạn chạy nginx hay apache… thì hãy thay thế cho phù hợp.
>> /var/log/lich-su-gia-han-certbot.log
để tạo file log ghi lại lịch sử gia hạn ssl, bạn có thể bỏ qua đoạn này.
Cài đặt ssl và khắc phục vấn đề downtime khi chuyển website sử dụng SSL Let’s Encrypt
Nhận chứng chỉ Let’s Encrypt không cần trỏ tên miền
Thay vì cài đặt theo tab Default, hãy chuyển sang tab
Wildcard để xác thực tên miền bằng DNS Challenge (sử dụng Cloudflare, không sử dụng ip nên không sợ downtime khi trỏ domain sang ip mới, không sợ bị khoá HSTS)
Thực hiện từ bước 1 đến bước 6 như hướng dẫn của certbot.
Tạo file cấu hình *.ini của Cloudflare như sau:
|
dns_cloudflare_api_key = d86d7d1f423f6c137abcxyz123 ; d86d7d1f423f6c137abcxyz123 là Cloudflare API key lấy tại đây: https://dash.cloudflare.com/profile/api-tokens |
Nên đặt tên file này bằng tên email Cloudflare luôn cho tiện quản lý, lưu tại 1 thư mục ẩn trên root:
Ví dụ:
/root/.cloudflare/tenemail.ini
Chmod thư mục ẩn này về 400 để đảm bảo an toàn:
chmod 400 -R /root/.cloudflare/
Câu lệnh cài đặt chứng chỉ ssl miễn phí và xác thực chứng chỉ SSL tự động:
|
certbot certonly --dns-cloudflare --dns-cloudflare-credentials /root/.cloudflare/tenemail.ini -d domain.com -d www.domain.com |
Xem thêm hướng dẫn tại đây:
https://certbot-dns-cloudflare.readthedocs.io/en/stable/
Cài đặt crontab gia hạn tự động tương tự như trên.
Lựa chọn thứ 2, sử dụng chứng chỉ của CloudFlare
Để sử dụng chứng chỉ ssl miễn phí của CloudFlare, bạn bắt buộc phải bật đám mây vàng, proxy cho domain trên CloudFlare. Sau đó tạo chứng chỉ trong phần SSL/TSL như hình dưới:

Cửa sổ
Origin Certificate Installation hiện ra, bạn chọn
Let Cloudflare generate a private key and a CSR (RSA), Certificate Validity
15 years và bấm
Next.
Cloudflare sẽ cung cấp cho bạn 2 đoạn mã chứng chỉ server, bạn copy nội dung và dán vào 2 file chứng chỉ tương ứng, ví dụ:
- Certificate.key
- Private_key.pem
Bước tiếp theo bạn dùng 2 file chứng chỉ này và cài đặt lên web server bạn đang chạy giống như với Let’s Encrypt. Đã cài chứng chỉ ssl miễn phí của CloudFlare 15 năm thì bạn không cần phải nghĩ đến việc gia hạn làm gì nữa!
Tạm kết bài viết về cài đặt chứng chỉ ssl miễn phí tại đây
Nguồn: UpForShare.com tổng hợp và biên soạn.
Xem thêm
-
Cài đặt Laravel trên OpenLiteSpeed chuẩn nhấtHướng dẫn các bước cài đặt Laravel Framework trên OpenLiteSpeed web server CentOS chi tiết thành công. Đây chính là cách cài đặt Laravel trên OpenLiteSpeed mới nhất Framework là gì Framework là một thư viện các lớp đã được xây dựng hoàn chỉnh, bộ…
-
Cài đặt FASTPANEL như thế nào? Chỉ 5 phútMở đầu loạt bài viết chia sẻ về phần mềm quản lý máy chủ FASTPANEL với bài viết về cách cài đặt FASTPANEL. Trang chủ của FASTPANEL Bạn có thể truy cập trang chủ FASTPANEL tại: https://fastpanel.direct/ FASTPANEL là gì FASTPANEL là phần mềm quản…
-
Cài đặt EPEL và REMI Repo trên CentOSHướng dẫn Cài đặt EPEL và REMI Repo trên CentOS 6/7/8 64bit. (Các hướng dẫn trên blog upforshare chỉ sử dụng bản 64bit) EPEL (Extra Packages for Enterprise Linux) là một dự án repository từ Fedora team cung cấp rất nhiều gói add-on package mà chúng ta…
Gần như tất cả site của mình hiện nay đề sử dụng SSL Let’s encrypt và Cloudflare rất nhanh và tiện
Đúng rồi bạn, nếu hay phải di chuyển server thì cứ SSL Cloudflare mà chiến, không phải lo gia hạn