mình sẽ hướng dẫn cách bạn cài đặt ssl miễn phí vĩnh viễn trên openlitespeed và cài đặt cấu hình tối ưu ssl không bị lỗi, thủ thuật tăng tốc website WordPress với SSL.
Thủ thuật cấu hình ssl của mình có thể giúp bạn dùng nhiều hơn 2 website không phải chỉ thể dùng được 1 website như các cách trên mạng thường chia sẻ, và mình chia sẻ luôn cách chuyển hướng http to https bằng websever luôn nhanh hơn và tiết kiệm tài nguyên hơn so với sử dụng php plugin và nâng cao bảo mật website của bạn.
mình học tự cài đặt openlitespeed thì mình thường xuyên dính nhiều lỗi về ssl nhưng mình đã tìm hiểu và đúng kết trong vài năm thì mình đã có nhiều kinh nghiệm quý bác để chia sẻ với các bạn cách cài ssl Let’s Encrypt không bị lỗi.
Chúng ta bắt đầu nhé.
Mục lục
Cài đặt Certbot
Bước 1:cài đặt cho phép EPEL Repository certbot hoạt động.
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Bước 2: cài đặt certbot
yum install certbot
Mở cổng 443 để chạy https
Bước 3: Thiết lập mở khóa cổng 443.
Có mỗi số webhost họ mỡ sẵn nhưng có một số webhost cung cấp cho bạn sẽ đóng lại bạn cần phải mở.
https chạy mặc định sẽ lấy cổng 443 làm cổng mặc định.
Vì lý do bảo mật nhà cung cấp webhost sẽ đóng các cổng lại chỉ để lại những cổng thông dụng, tuy vào nhà cung cấp webhost sẽ có cách mở khác nhau, hoặc tận chí nhà cung cấp đó không đóng thì bạn không cần làm bước này, nếu có đóng thì hãy làm bước này nhé.
iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT service iptables save service iptables restart
firewall-cmd --zone=public --add-port=443/tcp --permanent firewall-cmd --reload firewall-cmd --list-all
Khi quá trình mở cổng 443 hoàn tất.
Để kiểm tra xem công port của bạn đã mở thành công chưa bạn truy cập vào https://ping.eu/port-chk/ nhập ip và công port của bạn để kiểm tra, nếu nó báo là open đã mở thì tiếp tục bước tiếp theo, nếu nó đóng thì hãy liên hệ với nhà cung cấp VPS bảo họ, họ mở cho (ví lý do bảo mật tùy nhà cung cấp xem có khó khăn trong vấn đề mở công port hay không)
Giờ tiếp tục mở cổng 443 ở openlitespeed.
Bạn truy cập vào webadmingui của bạn bằng cách : http://ip_dia_chi_ip_cua_ban:7080
Thông tin mẫu.
IP Address: any
Port : 443
Secure: yes
Mọi thứ còn lại thì để yên không làm gì
Xong rồi lưu lại.
Tìm đến bảng Virtual Host Mappings
Virtual Host: wptangtoc.com Domains: wptangtoc.com
Tạo chứng chỉ Let’s Encrypt cho tên miền của bạn
đây là bạn sử dụng https://wptangtoc.com ( thường xuyên sử dụng)
Đoạn này sử dụng phổ biến nhất vừa cài cả domain của bạn và vừa cài www.domain vẫn hay dùng bạn www cname chuyển hướng qua domain.
certbot certonly --webroot -w /usr/local/lsws/wptangtoc.com/html/ -d wptangtoc.com -d www.wptangtoc.com
Sử dụng mỗi domain chính của bạn, không cần cài www
certbot certonly --webroot -w /usr/local/lsws/wptangtoc.com/html/ -d wptangtoc.com
Nếu bạn sử dụng mỗi www tức https://www.wptangtoc.com thì bạn sử dụng đoạn này
certbot certonly --webroot -w /usr/local/lsws/wptangtoc.com/html/ -d www.wptangtoc.com
Lưu ý : hãy cài đặt thật chuẩn ví 1 ngày Let’s Encrypt chỉ xác nhận 3 lần nếu không tên miền của bạn sẽ bị tạm khóa đó, nếu website đã kích hoạt hsts mà còn cài ngịch nghịch không chuẩn thì vỡ mồm, ngày mai cài tiếp 😂 😂
khi bạn gõ xác nhận domain bạn chỉ cần nhớ.
Bước 1: nhập email của bạn.
Bước 2: ấn nút: A
Bước 3: ấn nút: N
nếu có chữ đỏ thì đã bị lỗi bạn nếu kiểm tra lại theo kinh nghiệm của mình 90% là do khi chuyển website trong cơ sở dữ liệu wp-option của bạn để https hãy chuyển về http thì mới cài đặt ngon được.
Nếu bản command line nếu chữ trắng hết tức bạn đã thành công,
Khi thiết lập hoàn tất: /etc/letsencrypt/live/wptangtoc.com/
Let’s Encrypt sẽ để trong đó 4 file để mình cấu hình
Cấu hình SSL tối ưu
Nếu bạn không thiết lập như mình sẽ dẫn đến lỗi SSL không thể sử dụng được cho ssl cho tên miền khác nữa.
trong bảng SSL Private Key & Certificate:
Dữ liệu mẫu:
Certificate File : /etc/letsencrypt/live/wptangtoc.com/cert.pem
Chained Certificate : No
CA Certificate Path: Not Set
CA Certificate File: /etc/letsencrypt/live/wptangtoc.com/chain.pem
Cài đặt kiểu file này là cách duy nhất dùng openlitespeed để có thể dùng 2 domain một lúc dùng SSL, khi domain website thứ 2 thì bạn thiết lập trong Vhost chọn đến phần SSL thiết lập như trên là ok.
Trong bảng Security & Features:
dữ liệu mẫu:
Enable Session Cache: Yes
Enable Session Tickets: Yes
Enable SPDY/HTTP2/HTTP3 : SPDY/2 (bật) SPDY/3 (bật) HTTP/2 (bật) HTTP/3 (bật) None (tắt)
Allow QUIC: Yes
Vào của openlitespeed webgui Dashboard chắc chắn rằng listener bạn vừa tạo đã chạy thành công như dưới: (biểu tượng màu xanh)
Tăng tốc ssl với ghim OCSP
Ghim OCSP cải thiện tốc độ đáng kể kết ssl tăng tốc đáng kể thời gian kết nối, hiểu đơn giản thì nó giống cache vậy thôi.
Giá trị mẫu: Trong bảng Bật ghim OCSP
Độ tuổi tối đa đáp ứng OCSP (giây): 86400
Người trả lời OCSP: http://cert.int-x3.letsencrypt.org/
Chứng chỉ OCSP CA: /etc/letsencrypt/live/wptangtoc.com/chain.pem
Tự động gia hạn chứng chỉ ssl vĩnh viễn
Gia hạn chứng chỉ Let’s Encrypt.
Như bạn đã biết chứng chỉ Let’s Encrypt sẽ hết hạn sau 90 ngày. Bạn cần tạo cron job tự động gần như là vĩnh viễn cách gia hạn như sau như sau:
Bước 1: dùng tính năng cron
export VISUAL=nano; crontab -e
Bước 2: thiết lập tự động gia hạn.
45 2 * * * /usr/bin/certbot renew --quiet
Cài này mình thiết lập là 2 giờ 45 phút hàng ngày nó sẽ tự động gia hạn chứng chỉ cho bạn, chắc là 2 giờ 45 traffic của bạn ít rảnh rỗi thì gia hạn cũng được.
Bước 3: bạn lưu file đó lại bằng ấn nút: CTRL + O rồi tiếp tục ấn CTRL + X.
Như vậy là bạn thiết lập tự động gia hạn chứng chỉ thành công bạn không cần bận tầm về việc hết hạn chứ chỉ nó, dùng rất ổn định và ok.
Cách chuyển hướng http to https trên openlitespeed
Chuyển hướng http to https bằng webhost luôn cho sự hiệu quả tốc độ, tiết kiệm tài nguyên luôn luôn tốt hơn là chuyển hướng bằng cấp php plugin.
bạn truy cập vào Virtual Host => chọn vhost tên miền của bạn muốn chuyển hướng => context => add
Thiết lập như sau:
Location: /usr/local/lsws/wptangtoc.com/html
Accessible: Yes
Rewrite Rules:
RewriteCond %{HTTP_HOST} ^www\.wptangtoc\.com RewriteRule (.*) https://wptangtoc.com/$1 [R=301,L]
Rewrite Rules thì hãy chọn đoạn code vào và nhớ thay bằng wptangtoc thành tên miền của bạn nhé.
Xong rồi reset lại litespeed.
/usr/local/lsws/bin/lswsctrl restart
Đoạn code viết lại kia mình đã tối ưu cực chuẩn nếu bạn muốn kiểm tra lại kỹ càng hơn bạn có thể kiểm tra xem chuyển hướng có thật sự đã mỹ mãn chưa.
https://varvy.com/tools/redirects/ rồi gõ domain của bạn vào, để kiểm tra nhé
Như vậy là đã hoàn tất cài đặt ssl và tối ưu mốt số thứ liên quan đến SSL sang phần sau mình sẽ chia sẻ về cách tối ưu bảo mật webhost openlitespeed và cách tối ưu tốc độ WordPress với openlitespeed.
- Cài đặt OpenLiteSpeed webgui, PHP 7.4 và MariaDB trên CentOS-phần 1
- Cách thêm website trong webserver OpenLiteSpeed webgui-phần 2
- Hướng dẫn chuyển website WordPress lên openlitespeed webgui-phần 3
- Cách cài đặt và cấu hình SSL Miễn phí Let’s Encrypt trên OpenLiteSpeed-phần 4
- Modules cache WordPress tối ưu – openlitespeed-phần 5
- openlitespeed bảo mật cơ bản-phần 6 (chưa cập nhật)
- openlitespeed LS suPHP tối ưu-phần 7 (chưa cập nhật)
- openlitespeed tối ưu WordPress-phần 7 (chưa cập nhật)
- Hướng dẫn sao lưu và khôi phục websever openlitespeed-phần 8
Lã Xuân Hòa đã bình luận:
Trong WP Tăng Tốc
Đầu tiên, cảm ơn Gia Tuấn đã dành công chia sẻ với mọi người chủ đề rất hay về Open Light Speed này.
Phần cài đặt SSL này thì mình có một góp ý nhỏ mong Tuấn tham khảo và chỉnh sửa.
Mình có 1 VPS ban đầu cài 1 website về nguyên liệu pha chế domain https://abar.vn thì mọi chuyện rất ổn theo cách này. Nhưng khi mình bắt đầu cài đặt 1 domain thứ 2 là https://haianfood.vn thì bắt đầu gặp lỗi phát sinh rất nhiều.
Mình có tìm hiểu kỹ thì đoạn cài SSL của Tuấn cài đặt trên Listener là ko ổn lắm. Cách này chỉ sài cho tất cả các website domain chính và tất cả các subdomain thì người ta mới cài ở đây. Cách của tuấn là cài SSL cho cổng 443 mặc định.
Có 1 cách hay hơn là nếu có domain.com thì nên tạo 1 listener như này: https://domain.com:443 sau đó gán ssl và vitural mapping vào.
Mình tham khảo mãi và phát hiện ra bài viết sau đây là chuẩn, cài cho 1 server với nhiều domain khác nhau: https://www.itzgeek.com/how-tos/linux/how-to-configure-lets-encrypt-ssl-in-openlitespeed-web-server.html
Mong Gia Tuấn tham khảo và sửa đổi để bài viết tốt hơn nữa nhé.
Một lần nữa cảm ơn Tuấn đã chia sẻ bài viết hay đến mọi người.
Cảm ơn Tuấn
Gia Tuấn đã bình luận:
Trong WP Tăng Tốc
cách của mình thì bạn chỉ cần ghi đề vhost ssl là được, vhost sẽ ghi đè các giá trị đã thiết lập của server, mình test và nghiên cứu thì cách của mình cho hiệu suất ssl tốt hơn là dùng fullchain như trong bài viết bạn có chia sẻ, nhưng mình cũng cảm ơn bạn
Hieu Tran đã bình luận:
Trong WP Tăng Tốc
Mình làm như hướng dẫn nhưng vẫn chỉ có 1 domain là hoạt động được với ssl còn domain thứ 2 sẽ lỗi.
Không biết mình làm sai sót chổ nào.
Nhưng rất cảm ơn Gia Tuấn đã có những bài viết rất chi tiết!
Gia Tuấn đã bình luận:
Trong WP Tăng Tốc
đặt cấu hình đường dẫn theo chuẩn của em, đừng lên mạng đặt theo một số người thì gặp tình trạng như anh, con ssl trước cắm chứng chỉ vào domain sau. làm chuẩn theo em hướng dẫn đó
ha đã bình luận:
Trong WP Tăng Tốc
Xin chào bạn
Nếu tạo Wildcard Let’s Encrypt thì làm thế nào bạn
Gia Tuấn đã bình luận:
Trong WP Tăng Tốc
SSl miễn phí mà bạn thì làm gì có Wildcard, ssl miễn phí thì một cái một cài riêng biệt chứng chỉ. ssl trả phí thì mới có Wildcard. bạn muốn cài cho subdomain thì cũng cài đặt như bình thường như mình có cho một domain bình thường đó