Cài đặt chứng chỉ SSL giống như quá trình không bao giờ kết thúc.
Ngay khi bạn nghĩ sắp xong, vẫn còn quãng đường phải đi.
Bạn đã cài SSL, giờ phải đảm bảo nó thực sự được kích hoạt trên mọi trang của web.
Đây là lúc buộc HTTPS (force HTTPS) xuất hiện.
Nhiều web gặp vấn đề cấu hình SSL. Chứng chỉ không kích hoạt đúng trên một số trang. Cần buộc chứng chỉ (hoặc HTTPS) trên những trang đó.
Bài viết hướng dẫn làm chính xác điều đó.
Buộc HTTPS معروف gây ra sự cố. Đừng lo, chúng tôi hỗ trợ. Sẽ chỉ cách khắc phục sự cố. Toàn bộ web sẽ chạy SSL ngay lập tức.
Bạn Đã Cài Chứng Chỉ SSL Chưa?
Trước khi buộc HTTPS trên WordPress, phải có chứng chỉ SSL đã cài đặt. Không cài plugin giúp ép buộc mà chưa cài chứng chỉ.
Chúng tôi gặp trường hợp chủ web kích hoạt Really Simple SSL mà chưa cài SSL. Kết quả: web hỏng, mất truy cập admin.
Do đó, hãy chắc chắn đã cài SSL trước khi sang phần sau. Hướng dẫn cài SSL: How to Install an SSL Certificate?
Cách Buộc HTTPS Trên WordPress?
Có 2 cách buộc WordPress dùng HTTPS:
- Buộc HTTPS dùng plugin (cách dễ)
- Buộc HTTPS thủ công (cách khó)
Đi vào chi tiết cả hai –
1. Buộc HTTPS Dùng Plugin (Cách Dễ)
Bước 1: Tạo staging site – bản sao chính xác web chính. Trên staging, test plugin có ép HTTPS đúng không. Nếu không, web chính không bị hại. Khắc phục lỗi trên staging, sau đó merge staging vào web chính để áp dụng thay đổi mà không lặp lại bước.
→ Cài và kích hoạt BlogVault Staging trên web WordPress chính.
→ Từ bảng điều khiển web, chọn BlogVault.
→ Nhập email, click Get Started.
→ BlogVault yêu cầu tạo tài khoản: chỉ cần đặt mật khẩu.
→ Thêm web vào bảng điều khiển BlogVault bằng click Add.
→ Plugin bắt đầu backup toàn bộ web. Khi xong, trên bảng điều khiển BlogVault, click Sites chọn web của bạn.
→ Cuộn xuống phần Staging, chọn Add Staging > Submit. BlogVault tạo staging cho bạn.
→ Staging sẵn sàng, bạn nhận username/password. Ghi nhớ, sẽ cần.
→ Mở staging bằng click nút Visit Staging Site.
→ Staging mở tab mới, yêu cầu nhập thông tin đăng nhập vừa ghi.
→ Truy cập staging: thêm /wp-admin/ cuối URL để mở trang đăng nhập.
→ Đăng nhập bằng thông tin web chính.
Bước 2: Cài và kích hoạt Really Simple SSL trên staging.
Bước 3: Sau kích hoạt, plugin bảo mật này nhắc backup (đã làm). Tiếp theo, nhờ bạn click "Go ahead, activate SSL". Làm vậy và HTTPS được buộc toàn web.
Bước 4: Xóa cache web và trình duyệt. Hướng dẫn: How to Clear WordPress Cache?
Bước 5: Kiểm tra tất cả trang staging. Quan trọng nhất: trang đăng nhập/admin, liên hệ, giỏ hàng, dịch vụ/sản phẩm, archive, landing page quan trọng, bài viết.
Quá nhiều trang kiểm tra thủ công? Dùng công cụ tự động. Nếu SSL không hoạt động trên trang nào, sẽ nhận thông báo.
- https://www.jitbit.com/sslcheck/
- https://www.sslchecker.com/insecuresources
- https://www.ssllabs.com/ssltest
- https://www.whynopadlock.com/
Nếu chứng chỉ không buộc đúng, sẽ gặp: mixed content, vòng lặp chuyển hướng, hoặc không HTTPS trên trang đăng nhập/admin.
May mắn trang test không có vấn đề mixed content.
Nếu phát hiện lỗi, đừng hoảng, có giải pháp. Nhảy đến phần khắc phục sửa web.
Sau khi sửa xong, merge staging vào web chính.
Bước 6: Mở bảng điều khiển BlogVault, vào Staging. Click Merge, chọn Continue, quá trình merge bắt đầu. (Xem hướng dẫn nếu cần: Merging Staging Site With Original Site.)
Xong. SSL đã được buộc trên web.
2. Buộc HTTPS Thủ Công (Cách Khó)
Dùng plugin khuyến nghị vì tự động. Chỉ cần kích hoạt plugin.
Cách thủ công cần kinh nghiệm và thoải mái xử lý file backend WordPress. Nếu không thành thạo backend, dễ mắc lỡ. Lỗi nhỏ nhất cũng dẫn đến hậu quả khôn lường: web hỏng, mất truy cập admin.
Rõ ràng: cách thủ công KHÔNG KHUYẾN NGHỊ. Nhưng nếu bạn muốn thử thách, hãy tiến hành.
2 bước buộc HTTPS WordPress không plugin:
Bước 1: Backup Web
Backup toàn bộ web trước khi thực hiện các bước dưới. Nếu sự cố, khôi phục nhanh. Biên phòng an toàn mà ngay lập trình viên giỏi cũng làm.
Chưa đăng ký dịch vụ backup? Đây là dịch vụ backup tốt nhất cho WordPress.
Bước 2: Thay Đổi Cài Đặt WordPress & Site Address
→ Đăng nhập bảng điều khiển WordPress, vào Settings > General.
→ Tới WordPress Address & Site Address.
→ Đổi URL từ https:// sang https://
→ Lưu và đóng cửa sổ.
Bước 3: Chèn Đoạn Code Vào Server
2 loại server:
- Apache
- Nginx
Đoạn code chèn vào Apache khác Nginx. Cần xác định web chạy server nào. Cách làm:
> Web Của Bạn Chạy Server Gì?
Có thể hỏi hosting. Nhưng cách nhanh hơn dưới đây:
→ Mở web, click chuột phải bất kỳ đâu, chọn Inspect. Cửa sổ hiện ra dưới.
→ Chọn Network, rồi tên web của bạn, sau đó click Header.
→ Trong Header, cuộn xuống tìm server web.
> Chèn Code Trên Server Apache
→ Tải và cài FileZilla trên máy.
→ Mở phần mềm, nhập thông tin FTP ở đầu cửa sổ. Tìm FTP credentials với hướng dẫn này và video này. Hoặc hỏi hosting.
→ Panel Remote site hiển thị file/thư mục web. Tìm thư mục public_html. Mở rộng.
→ Trong public_html, tìm file .htaccess. Click chuột phải, chọn View/Edit.
→ Trong .htaccess, chèn đoạn code:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Đảm bảo chèn giữa "# BEGIN WordPress" và "# END WordPress".
→ Nhớ lưu file và thoát. Xong. Sẽ ép HTTPS trên web.
> Chèn Code Trên Server Nginx
→ Tải và cài FileZilla.
→ Mở, nhập FTP credentials. Tìm FTP từ hosting. Không biết cách? Hướng dẫn này và video này chỉ dẫn chi tiết.
→ Panel Remote site hiển thị file/thư mục WordPress. Tìm public_html. Click mở rộng.
→ Trong public_html, tìm file wp-config.php. Click chuột phải, chọn View/Edit.
→ Trong file .htaccess (sic – thực tế là wp-config.php), chèn đoạn code:
server {
listen 80;
return 301 https://domain.com$request_uri;
}
Nhớ thay domain.com bằng URL web của bạn.
Cũng chèn code trên dòng "/* That's all, stop editing! Happy blogging. */"
→ Lưu file và thoát.
→ Xóa cache web và trình duyệt. Hướng dẫn: How to Clear WordPress Cache?
→ Kiểm tra kỹ web. Trang quan trọng: đăng nhập/admin, liên hệ, giỏ hàng, dịch vụ/sản phẩm, archive, landing page quan trọng, bài viết.
Quá nhiều trang kiểm tra thủ công? Dùng công cụ kiểm tra HTTPS ép buộc đúng.
- https://www.jitbit.com/sslcheck/
- https://www.sslchecker.com/insecuresources
- https://www.ssllabs.com/ssltest
- https://www.whynopadlock.com/
Công cụ thông báo nếu SSL không phản ánh trên trang nào.
Nếu có thông báo, đừng hoảng. Có giải pháp. Nhảy phần khắc phục sửa web.
Nếu mọi thứ ổn, sang phần tiếp.
Cập Nhật Web Cho Các Dịch Vụ Web
Nếu bạn như chúng tôi, dùng nhiều dịch vụ web. Ví dụ dịch vụ phổ biến: X, Y, Z. Cập nhật URL trên tất cả tài khoản quan trọng để chúng tiếp tục hoạt động.
→ Cập Nhật Sitemap: Lý tưởng plugin SEO như Yoast tự động cập nhật sitemap. Nếu không, đăng nhập WordPress admin, vào SEO > Features > XML Sitemaps > tắt sitemap. Bật lại. Sẽ tạo lại sitemap với URL mới.
→ Cập Nhật URL Trên Dịch Vụ Google: Google Analytics coi HTTP và HTTPS là 2 web khác nhau, phải cập nhật link web trên Analytics. Đăng nhập Analytics, vào Admin > Property Settings > Default URL. Chọn HTTPS từ menu thả xuống trước URL.
Trên Google Search Console, thêm làm property mới. Tải sitemap đã cập nhật lên Search Console.
→ Cập Nhật CDN: Hầu hết CDN có tính năng tích hợp đổi URL. Nếu không, liên hệ support.
→ Cập Nhật Mạng Xã Hội: Thói quen tốt giữ URL web cập nhật trên hồ sơ mạng xã hội.
Khắc Phục Sự Cố Do Buộc HTTPS Gây Ra
Khi buộc HTTPS trên WordPress, có thể gặp 1 trong 3 sự cố:
- Không SSL trên trang đăng nhập & admin
- Khóa bị vỡ hoặc hiển thị cảnh báo (vấn đề mixed content)
- Vòng lặp chuyển hướng (redirection loops)
Cách khắc phục –
1. Không SSL Trên Trang Đăng Nhập & Admin
Trang đăng nhập và khu vực admin hiện cảnh báo "Not Secure"?
Xảy ra khi SSL không cấu hình đúng.
Nếu tiếp tục đăng nhập không SSL, thông tin đăng nhập nếu hacker lấy được sẽ dễ khai thác. Trước khi thảm họa xảy ra, buộc HTTPS trên trang đăng nhập và admin. Bài viết WordPress Login Not Secure giúp bạn.
2. Khóa Vỡ Hoặc Hiện Cảnh Báo (Vấn Đề Mixed Content)
Chứng chỉ SSL hiện cảnh báo?
Do mixed content. Tức là có link, ảnh, script, stylesheet từ plugin/theme WordPress không dùng HTTPS.
Kiểm tra mixed content: chạy web trên SSL checker như Whynopadlock & Jitbit. Hoặc kiểm tra thủ công:
- Mở web. Click chuột phải, chọn Inspect.
- Cửa sổ nhỏ hiện ra dưới. Chọn Console – hiển thị cảnh báo mixed content, chi tiết nơi gây ra vấn đề. Có thể do plugin/theme WordPress.
- Có thể do ảnh trên web.
Khắc phục: theo dõi hướng dẫn Removing Mixed Content in WordPress.
3. Vòng Lặp Chuyển Hướng (Redirection Loops)
Web liên tục bị chuyển hướng?
Vòng lặp chuyển hướng do nhiều nguyên nhân:
- WordPress & Site Addresses sai
- Hướng dẫn chuyển hướng sai trong .htaccess
- Buộc HTTPS mà không cài SSL
- Vấn đề cấu hình plugin chuyển hướng
Nếu làm theo hướng dẫn cẩn thận, 3 lỗi đầu không khả thi. Tuy nhiên, hãy xem lại bước đã làm. Thay đổi quan trọng, lỗi nhỏ có thể gây vòng lặp.
Vẫn ổn? Rất có thể plugin chuyển hướng trên web là thủ phạm. Thử vô hiệu hóa nó.
Vòng lặp chuyển hướng ngăn truy cập admin. Cần vô hiệu hóa plugin qua FTP.
→ Mở FileZilla, vào public_html > wp-content > plugins.
→ Chọn plugin chuyển hướng trên web. Click chuột phải, Rename. Thêm .deactivate – plugin sẽ bị vô hiệu hóa.
→ Xóa cache, kiểm tra web còn chuyển hướng không. Hy vọng đã sửa. Nếu không, đăng bài trên diễn đàn hỗ trợ WordPress và nhóm Facebook: WordPress Experts, WPCrafter, WordPress, WPSecure...
Khi mọi cách thất bại, thuê lập trình viên điều tra. Đảm bảo thuê từ nguồn uy tín:
- WordPress Jobs
- Smashing Jobs
- Codeable.io
- WPMU Dev Pros
- StackOverflow Careers
Xong. Đó là cách buộc HTTP sang HTTPS trên WordPress. Hy vọng hướng dẫn hữu ích và dễ theo dõi.
Tiếp Theo Nên Làm Gì?
Chúng tôi tin nếu làm theo hướng dẫn cẩn thận, bạn đã buộc HTTPS toàn bộ WordPress.
Nhưng chỉ chuyển sang HTTPS không bảo vệ web khỏi hacker và bot.
Cần biện pháp bảo mật chủ động khác.
Biện pháp quan trọng nhất cho WordPress: cài plugin bảo mật uy tín, tin cậy.
Plugin bảo mật hiệu quả bảo vệ web bằng:
- Chặn traffic xấu truy cập web bằng tường lửa và bảo vệ đăng nhập.
- Quét tự động web hàng ngày.
- Dọn dẹp web kỹ lưỡng trong vài giờ.
- Hỗ trợ triển khai cứng hóa web.
Bảo Mật Web Với Dịch Vụ MalCare Security