Cách cài SSL miễn phí cho website WordPress trên VPS

Nếu website WordPress của bạn đã chạy trên VPS và domain đã trỏ đúng về IP máy chủ, cách gọn nhất là cài Certbot, xin chứng chỉ Let's Encrypt theo Nginx hoặc Apache, bật redirect HTTP sang HTTPS, rồi kiểm tra mixed content trong WordPress.

Cài SSL miễn phí cho website WordPress trên VPS

Nếu bạn tự cài WordPress trên VPS, SSL gần như là bước bắt buộc. Nó không chỉ giúp trình duyệt hiện ổ khóa HTTPS, mà còn bảo vệ thông tin đăng nhập, form liên hệ, giỏ hàng và các phiên làm việc trong khu vực quản trị.

Tin tốt là bạn không nhất thiết phải mua SSL trả phí. Với Let’s Encrypt, bạn có thể cài SSL miễn phí cho WordPress trên VPS và để hệ thống tự gia hạn. Bài này đi theo cách thực tế: VPS Ubuntu, Certbot, Nginx hoặc Apache.

SSL miễn phí trên VPS là gì và có đủ an toàn không?

SSL, chính xác hơn là TLS, là lớp mã hóa dữ liệu giữa trình duyệt và máy chủ. Khi website dùng đúng, địa chỉ chuyển từ http:// sang https://.

Let’s Encrypt là tổ chức cấp chứng chỉ SSL miễn phí và được các trình duyệt hiện đại tin cậy. Với blog, website công ty, landing page hoặc WordPress bán hàng nhỏ đến vừa, Let’s Encrypt thường là đủ. “Miễn phí” ở đây không có nghĩa là mã hóa kém hơn. Khác biệt so với SSL trả phí chủ yếu nằm ở xác minh doanh nghiệp, bảo hiểm hoặc nhu cầu đặc thù.

Sơ đồ HTTPS hoạt động giữa người dùng, domain và VPS WordPress
Sơ đồ đơn giản: người dùng truy cập HTTPS, domain trỏ về VPS, web server dùng chứng chỉ SSL để trả nội dung WordPress.

Trước khi cài SSL cho WordPress trên VPS cần chuẩn bị gì?

Phần chuẩn bị quan trọng hơn nhiều người nghĩ. Tôi gặp khá nhiều ca cài Certbot lỗi không phải vì Certbot khó, mà vì DNS sai, port bị chặn hoặc web server chưa nhận đúng tên miền.

  • Website WordPress đã chạy được bằng HTTP.
  • Domain đã trỏ bản ghi A về đúng IP VPS.
  • Port 80443 đang mở.
  • Bạn biết VPS dùng Nginx hay Apache.
  • Bạn có quyền SSH bằng user có sudo hoặc root.

Nếu WordPress chưa cài xong, hãy xử lý phần đó trước. Bạn có thể xem lại bài cách cài WordPress trên VPS Ubuntu. Nếu domain chưa trỏ đúng, bài cách trỏ domain về VPS sẽ sát nhu cầu hơn.

Cách kiểm tra domain đã trỏ về VPS chưa

SSH vào máy tính hoặc VPS rồi kiểm tra:

dig tenmiencuaban.com +short

Kết quả nên là IP VPS của bạn. Nếu chưa đúng, hãy sửa bản ghi A tại nơi quản lý domain và chờ DNS cập nhật. Với bản www, bạn có thể dùng A record trỏ về cùng IP hoặc CNAME trỏ về domain gốc.

Cài Certbot trên VPS Ubuntu như thế nào?

Certbot là công cụ xin, cài và gia hạn chứng chỉ từ Let’s Encrypt. Trước hết, SSH vào VPS và cập nhật package:

sudo apt update

Nếu dùng Nginx:

sudo apt install certbot python3-certbot-nginx -y

Nếu dùng Apache:

sudo apt install certbot python3-certbot-apache -y

Để kiểm tra web server đang chạy, dùng:

sudo systemctl status nginx
sudo systemctl status apache2

Cách cài SSL miễn phí cho WordPress trên VPS dùng Nginx

Với Nginx, Certbot có thể tự đọc server block và thêm cấu hình HTTPS. Trước khi chạy, kiểm tra Nginx:

sudo nginx -t
sudo systemctl reload nginx

Sau đó xin chứng chỉ:

sudo certbot --nginx -d tenmiencuaban.com -d www.tenmiencuaban.com

Trong quá trình chạy, Certbot thường hỏi email, điều khoản sử dụng và có redirect HTTP sang HTTPS hay không. Với WordPress thông thường, bạn nên chọn redirect. Như vậy người dùng vào bản HTTP cũng tự chuyển sang HTTPS.

Một chi tiết dễ sai: file cấu hình Nginx cần có server_name đúng domain.

server_name tenmiencuaban.com www.tenmiencuaban.com;

Cách cài SSL miễn phí cho WordPress trên VPS dùng Apache

Nếu VPS dùng Apache, quy trình cũng tương tự. Kiểm tra cấu hình trước:

sudo apache2ctl configtest
sudo systemctl reload apache2

Rồi chạy Certbot:

sudo certbot --apache -d tenmiencuaban.com -d www.tenmiencuaban.com

Certbot sẽ tìm VirtualHost tương ứng, cấp chứng chỉ và thêm cấu hình HTTPS. Nếu có lựa chọn redirect, bạn nên bật để tránh website tồn tại song song ở cả HTTP và HTTPS.

Checklist cách cài SSL miễn phí cho website WordPress trên VPS
Checklist 6 bước khi cài SSL miễn phí cho WordPress trên VPS.

Sau khi cài SSL, cần chỉnh gì trong WordPress?

Cài SSL ở tầng VPS chưa phải là xong hẳn. Trong WordPress Admin, vào Settings > General và đổi hai dòng này sang HTTPS:

WordPress Address (URL): https://tenmiencuaban.com
Site Address (URL): https://tenmiencuaban.com

Sau đó xóa cache nếu bạn dùng LiteSpeed Cache, WP Rocket, W3 Total Cache hoặc plugin tương tự. Nếu trang vẫn báo “Not secure”, nhiều khả năng là mixed content: trang chính đã HTTPS nhưng ảnh, CSS hoặc JS cũ vẫn được gọi bằng HTTP.

Trước khi thay URL hàng loạt trong database, hãy backup. Công cụ như Better Search Replace có thể giúp đổi http://domain sang https://domain, nhưng làm sai vẫn có thể khiến website lỗi hiển thị.

Cách kiểm tra SSL đã hoạt động đúng chưa

Hãy mở đủ các phiên bản URL:

http://tenmiencuaban.com
http://www.tenmiencuaban.com
https://tenmiencuaban.com
https://www.tenmiencuaban.com

Kết quả tốt là tất cả chuyển về một bản HTTPS chính. Bạn cũng có thể dùng:

curl -I http://tenmiencuaban.com

Nếu redirect đúng, response sẽ có mã 301 hoặc 308 và dòng location trỏ sang HTTPS. Muốn kiểm tra kỹ hơn, dùng SSL Labs tại https://www.ssllabs.com/ssltest/.

Cách gia hạn SSL Let’s Encrypt tự động

Chứng chỉ Let’s Encrypt có hạn 90 ngày. Certbot trên Ubuntu thường tự tạo timer để gia hạn. Bạn có thể kiểm tra:

systemctl list-timers | grep certbot

Và chạy thử gia hạn:

sudo certbot renew --dry-run

Nếu lệnh dry-run không lỗi, cơ chế gia hạn thường đã ổn. Dù vậy, nếu sau này bạn đổi DNS, bật firewall hoặc thay reverse proxy, nên kiểm tra lại.

Lỗi thường gặp khi cài SSL cho VPS

Lỗi hay gặp nhất là domain chưa trỏ đúng IP VPS. Hãy kiểm tra bằng dig trước khi nghi ngờ Certbot.

Lỗi thứ hai là port 80 hoặc 443 bị chặn. Nếu dùng UFW, kiểm tra bằng sudo ufw status. Với Nginx có thể mở:

sudo ufw allow 'Nginx Full'

Với Apache:

sudo ufw allow 'Apache Full'

Lỗi “too many redirects” thường xuất hiện khi Cloudflare, plugin redirect và cấu hình HTTPS trên VPS chồng chéo nhau. Nếu dùng Cloudflare và VPS đã có SSL, bạn nên dùng chế độ Full hoặc Full (strict), tránh Flexible.

Nên cài SSL ở VPS, Cloudflare hay plugin WordPress?

Nếu WordPress chạy trên VPS riêng, tôi khuyên bạn cài SSL trực tiếp trên VPS trước. Cloudflare có thể dùng thêm, nhưng không nên chỉ “giả lập HTTPS” ở ngoài trong khi server phía sau vẫn HTTP, nhất là website có đăng nhập hoặc thanh toán.

Plugin WordPress chỉ hỗ trợ sửa URL, ép HTTPS hoặc xử lý mixed content. Plugin không thay thế chứng chỉ SSL ở tầng máy chủ.

Kết luận

Cách cài SSL miễn phí cho WordPress trên VPS không quá phức tạp nếu bạn đi đúng thứ tự: domain trỏ đúng IP, web server chạy ổn, port 80/443 mở, sau đó dùng Certbot để xin chứng chỉ Let’s Encrypt.

Sau khi bật HTTPS, đừng quên đổi URL trong WordPress, kiểm tra redirect và sửa mixed content. Một VPS ổn định cộng với SSL đúng cách sẽ giúp website an toàn hơn, chuyên nghiệp hơn và thân thiện hơn với SEO.

Câu hỏi thường gặp

Cài SSL miễn phí cho VPS có mất phí gia hạn không?

Không. Let's Encrypt miễn phí cả lúc cấp mới và gia hạn. Chứng chỉ thường có hạn 90 ngày, nhưng Certbot có thể tự gia hạn bằng systemd timer hoặc cron.

Một VPS có cài SSL cho nhiều website được không?

Có. Một VPS có thể cài SSL cho nhiều domain nếu mỗi domain đã trỏ đúng về VPS và web server có cấu hình server block hoặc virtual host riêng.

Let's Encrypt có an toàn cho website bán hàng không?

Có, với đa số website WordPress và WooCommerce nhỏ đến vừa. SSL chỉ là một phần bảo mật; bạn vẫn cần cập nhật mã nguồn, plugin, mật khẩu mạnh và backup.

Không biết VPS dùng Nginx hay Apache thì kiểm tra thế nào?

Bạn có thể SSH vào VPS rồi chạy systemctl status nginx và systemctl status apache2. Dịch vụ nào đang active thường là web server đang dùng, nhưng một số hệ thống có thể chạy cả hai.

Cài SSL xong có ảnh hưởng SEO không?

Có thể tốt hơn nếu cấu hình đúng. Bạn nên redirect 301 từ HTTP sang HTTPS, sửa mixed content và tránh để nhiều phiên bản URL trùng lặp cùng index.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *