Cách chuyển WordPress từ HTTP sang HTTPS/SSL ở cPanelX




data vpn

Cách đây không lâu Google đã chính thức xác nhận sử dụng SSL sẽ tốt hơn cho SEO nhờ vào việc bảo đảm uy tín bảo mật dữ liệu người dùng, ngoài ra SSL cũng giúp cho các dữ liệu gửi đi của website bạn bảo mật tốt hơn.

Nếu bạn đã quyết định sử dụng SSL mà chưa biết cách cài đặt thế nào thì mình xin hướng dẫn. Tuy nhiên tốt hơn hết, bạn nên làm với một website mới hoặc chưa hoạt động được lâu vì nó có thể gây ảnh hưởng ở thời gian đầu lúc mới chuyển sang.

Ở bài này mình sẽ chỉ bạn cách cài SSL thông qua cPanelX có hỗ trợ SSL, nếu bạn dùng VPS thì có thể tham khảo trên Google nhưng mình khuyến khích bạn nên thử qua cPanelX nếu lần đầu tiên cài.

Host để sử dụng SSL

Không phải host nào cũng có thể cài SSL vào được, vì thường tính năng SSL chỉ có ở các gói cao cấp. Ở bài này mình sẽ làm dựa trên gói Enterprise của StableHost, bạn cũng có thể sử dụng các gói sau có hỗ trợ SSL:

  • A2Hosting – Gói nào cũng có SSL. Nhưng bạn có thể liên hệ với kỹ thuật để họ giúp bạn cài SSL.
  • InmotionHosting – Giá hơi cao nhưng khi mua họ đã cài sẵn cho bạn.
  • LiquidWeb – Very good hosting – free SSL.

Hoặc bạn có thể sử dụng gói host nào đó mà khi vào cPanel bạn thấy có thêm mục SSL/TSL Manager(Security) như thế này:

ssl-hosting

Quan trọng nhất là gói host bạn đang sử dụng phải là IP riêng (dedicated IP), bạn có thể yêu cầu nhà cung cấp host cài cho IP riêng và thường giá chỉ dao động khoảng $2/tháng.

Mua SSL Certificates Key

Muốn cài được SSL thì bạn phải mua một key chứng thực SSL và áp dụng cho domain. Hiện nay hầu hết những nhà cung cấp domain/hosting đều cung cấp dịch vụ này nhưng tốt hơn hết bạn nên mua ở một nơi chuyên về nó để có gặp vấn đề gì thì dễ dàng được hỗ trợ.

Có 3 loại SSL mà bạn có thể mua như sau:

  • Domain-level validation – Đây là loại cơ bản nhất, nó chỉ bao gồm giao thức SSL để bảo mật dữ liệu gửi đi (bạn nên dùng loại này nếu mới bắt đầu).
  • Organization validated – Loại này dành cho tổ chức/doanh nghiệp vì nó hỗ trợ lưu thông tin của tổ chức vào mã chứng thực cũng như bảo mật tốt hơn, dành cho các website thương mại điện tử.
  • Extended validation – Đây là loại cao cấp nhất, tuy nhiên website nào muốn đăng ký loại này sẽ phải được cơ quan có thẩm quyền kiểm tra website kỹ lưỡng trước khi cấp chứng chỉ.

Ở bài này, mình sẽ sử dụng loại Domain level validation.

Có rất nhiều chỗ để bạn mua SSL, tuy nhiên mình khuyến khích các bạn mua ở các website như:

  1. Namecheap
  2. Godaddy
  3. Comodo
  4. SSLs

Và ở bài này mình sẽ mua SSL ở Namecheap vì nó rẻ. ?

Để mua SSL ở Namecheap, bạn vào trang chủ và ấn chọn Security -> SSL.

ssl-namecheap

Sau đó chọn gói Domain Level Validation.

ssl-namecheap-domainlevel

Và ở trong đây, bạn có thể mua loại PotisiveSSL (cho 1 domain) hoặc PositiveSSL Multi-Domain (cho nhiều domain).

2. Cài đặt SSL

Hãy truy cập vào cPanel của host bạn đang sử dụng và ấn vào phần SSL/TSL Manager ở mục Security.

ssl-hosting

Rồi nhấn vào link Generate, view, or delete SSL certificate signing requests để tạo key CSR.

ssl-cpanel-csr

Và nhập domain cần cài SSL cùng các thông tin bắt buộc như tên thành phố, quốc gia, tỉnh thành,…Các mục không có chữ Required bạn có thể bỏ trống, nhưng phần email tốt nhất cứ điền.

ssl-cpanel-generatescr

Điền xong ấn nút Generate ở cuối trang để lấy CSR key.

ssl-cpanel-csr-encodedkey

Trong đó có nhiều loại key nhưng bạn chỉ cần để ý tới Encoded CSR thôi nhé. Tạm thời đừng tắt nó đi.

Truy cập vào khu vực quản lý SSL của bạn vừa mua và chọn Activate Now (Namecheap).

namecheap-activatessl

Sau đó ở phần Select web server bạn chọn là cPanel và ở dưới bạn copy Encoded SCR key vào nhé.

namecheap-sslactivate2

Ấn Next để tiếp tục, nó sẽ lấy thông tin của key, bạn chọn email mà bạn đang dùng rồi tiếp tục ấn Next.

namecheap-activatessl3

Sau đó tiếp tục ấn Next và nhập thông tin cá nhân rồi Submit Order.

Bây giờ bạn đã hoàn tất quá trình đăng ký, tuy nhiên bạn cần phải đợi bước cuối cùng đó là được xét duyệt và email thông báo sẽ gửi vào email mà bạn đã khai báo ở trên.

namecheap-ssl-finish

Đợi tầm 1 tiếng sau và mở email lên, bạn sẽ nhận được một email thế này:

namecheap-ssl-validationcode

Nhấp vào liên kết here trong email và điền mã kích hoạt ghi ở dưới vào.

ssl-validation

Và đợi một xíu chờ email họ gửi cho bạn 1 file .zip bao gồm 2 files như hình dưới và một đoạn key ở cuối email.

ssl-scfile

2 files trong file .zip mà họ gửi qua email

Bây giờ hãy quay trở lại cPanel -> SSL/TSL Manager -> Certificates (CRT) và upload file .crt mà bạn vừa tải về máy lên như thế này.

ssl-upload.crt

Tiếp tục vào lại cPanel -> SSL/TSL Manager -> Install and Manage SSL for your site (HTTPS) (chọn Manage SSL Sites).

Sau đó chọn domain mà bạn đã xác thực SSL và bấm Autofill by Domain để nó tự điền CRT và Private Key.

ssl-autofill-domain

Riêng phần Certificate Authority Bundle: (CABUNDLE), bạn hãy mở file ca-bundle bằng notepad mà bạn vừa tải về với file .crt và copy nội dung đó bỏ vào.

Bây giờ bạn đã cài SSL thành công và hãy thử truy cập vào địa chỉ https://example.com là được. Tuy nhiên nếu bạn đang sử dụng CloudFlare miễn phí thì sẽ không truy cập được vì nó không hỗ trợ SSL cho gói miễn phí, bạn phải nâng cấp lên hoặc sử dụng DNS mặc định của nhà cung cấp host.

Cấu hình SSL cho WordPress

Ngay sau khi bạn làm các bước trên xong thì vẫn chưa hoàn tất vì hiện tại WordPress của bạn vẫn đang sử dụng giao thức HTTP thay vì HTTPS. Để bắt buộc nó sử dụng HTTPS, bạn cần phải làm thêm các bước tiếp theo.

Trước tiên là hãy đổi địa chỉ website sang dạng SSL/HTTPS bằng cách chèn đoạn code sau vào file wp-config.php và sửa lại thành URL của bạn:

 define('WP_HOME','https://thichviet.com'); define('WP_SITEURL','https://thichviet.com');

Tiếp tục, mở file wp-config.php ra và chèn đoạn dưới đây vào:

  define('FORCE_SSL_ADMIN', true);

ssl-wordpress-wpconfig

Chèn thêm đoạn sau vào file .htaccess để nó tự động redirect đường dẫn cũ từ http sang https.

 RewriteEngine on RewriteCond %{
HTTP_HOST}
 ^yoursite.com [NC,OR] RewriteCond %{
HTTP_HOST}
 ^www.yoursite.com [NC] RewriteRule ^(.*)$ https://www.yoursite.com/$1 [L,R=301,NC]

Hoặc nếu bạn đang dùng plugin iThemes Security, hãy tìm tới phần SSL và bật tùy chọn như dưới mà không cần làm các bước trên.

ssl-ithemes-security

Cuối cùng là chuyển toàn bộ liên kết trong database (hình ảnh trong bài chẳng hạn) sang https bằng cách sử dụng plugin WP HTTPS, chỉ cần cài vào và không cần tùy chỉnh gì thêm.

Nhớ gõ địa chỉ của bạn chứ đừng có gõ thichviet.com của mình nhé. ?

Okay, bây giờ địa chỉ website của bạn đã có HTTPS rồi đó. ?

Nếu bạn truy cập vào trang chủ và thấy https:// nó màu vàng thì lý do là có một số thành phần trên website chưa được đổi sang HTTPS. Bạn ấn chuột phải vô trang và chọn Inspect Element rồi chuyển qua tab Console để xem các liên kết nào chưa được chuyển sang SSL rồi tiến hành sửa thủ công.

ssl-warning

Sau khi cài đặt xong toàn bộ, địa chỉ của bạn bây giờ đã có HTTPS ?

thichviet-ssl-finish




data vpn

Leave your comment