Làm thế nào để cài đặt SSL và HTTPS cho WordPress?

Một trong những việc quan trọng giúp đảm bảo cho blog/ website WordPress của bạn luôn an toàn là cài đặt một chứng chỉ SSL hợp lệ. Điều này sẽ cho phép người dùng của bạn trao đổi thông tin với blog/ website thông qua một giao thức được mã hóa an toàn. Cài đặt và cấu hình WordPress để sử dụng các giao thức mã hóa an toàn là một việc tương đối nhẹ nhàng, không phải là quá khó. Nhưng nó đòi hỏi bạn phải quyết định được việc bao giờ thì nên sử dụng SSL?
Tham khảo thêm: Cài đặt CloudFlare SSL miễn phí cho blog WordPress
SSL là gì?
SSL là tiêu chuẩn để trao đổi thông tin một cách an toàn, thông qua mã hóa thông tin giữa một blog/ website và trình duyệt. Tôi sẽ không đi sâu vào chi tiết kỹ thuật và cách thức hoạt động của SSL, nhưng nói một cách ngắn gọn thì SSL là một cách để thiết lập một kết nối tin cậy giữa máy chủ và trình duyệt web. Bản chất của mối quan hệ này là máy chủ sẽ mã hóa dữ liệu tại chỗ trước khi chuyển nó tới trình duyệt web, theo một cách mà chỉ người nhận mới có thể giải mã nó.
Phương pháp này khá an toàn trước một thực tế là bất kỳ dữ liệu nào được chuyển qua internet đều có thể bị ngăn chặn bất cứ lúc nào bởi một hacker hay một cơ quan an ninh chính phủ. Bằng cách gửi dữ liệu mã hóa, chúng ta sẽ đảm bảo rằng bất cứ ai, không phải là người dùng, nhận được dữ liệu chuyển giao từ máy chủ, thì những điều họ nhận được là những thứ hoàn toàn vô nghĩa. Nó giúp bảo mật thư tín, số thẻ tín dụng, tài khoản ngân hàng và tất cả các dữ liệu cá nhân khác.
Để sử dụng SSL, yêu cầu máy chủ của bạn phải được cài đặt sẵn một chứng chỉ SSL hợp lệ. Chứng chỉ SSL, thường được mua tại các nhà cung cấp dịch vụ hosting, cung cấp cho trình duyệt web các chi tiết quan trọng về việc bảo mật trang web của bạn. Trong hầu hết các trình duyệt web, khi bạn truy cập một trang web an toàn, bạn sẽ thấy một biểu tượng ổ khóa hoặc tương tự trong thanh địa chỉ, hiển thị cho bạn thông tin chi tiết về chứng chỉ SSL.

SSL cần phải có trên tất cả các trang web thương mại điện tử và được khuyến khích sử dụng bất cứ khi nào có thông tin nhạy cảm được trao đổi, bao gồm cả mật khẩu. Tôi sẽ không đề cập đến quá trình thêm chứng chỉ cho gói hosting của bạn, cũng như sực khác nhau giữa các nhà cung cấp hosting. Một trong những dấu hiệu của một công ty cung cấp hosting WordPress chất lượng là họ cho phép bạn thiết lập chứng chỉ SSL của mình một cách dễ dàng.
Sau khi chứng chỉ SSL được cài đặt, khi ai đó truy cập trang web của bạn, họ sẽ có thể truy cập thông qua HTTP “an toàn”, hay còn gọi là HTTPS. Tôi nói “họ sẽ có thể” mà không phải “họ sẽ”, bởi vì chỉ thêm chứng chỉ thôi là không đủ. Bạn sẽ cần phải cấu hình WordPress để buộc khách truy cập sử dụng HTTPS.
Khi chúng ta nói đến việc “sử dụng SSL“, có nghĩa là hoạt động trao đổi thông tin giữa máy chủ và trình duyệt đang diễn ra thông qua giao thức HTTPS thay vì giao thức HTTP không được đảm bảo. Để làm được như vậy, đòi hỏi bạn phải có một chứng chỉ SSL hợp lệ.
Nên sử dụng HTTPS ở đâu?
Bạn có thể bắt buộc khách truy cập trang web của bạn phải sử dụng HTTPS khi đăng nhập, khi sử dụng bảng điều khiển, trên một bộ phận hoặc tất cả các phần của trang web. Có hai cách để nhìn nhận về vấn đề này. Một là sử dụng nó chỉ khi thực sự cần thiết, có nghĩa là bạn không đặt rào cản thêm xác thực về quyền truy cập vào các giao tiếp không nhạy cảm. Hai là sử dụng SSL mọi lúc, mọi nơi.
Gần đây Google đã thông báo rằng họ sẽ bắt đầu xem xét sử dụng HTTPS trong việc xếp hạng tìm kiếm. Điều này có nghĩa rằng việc sử dụng HTTPS sẽ không chỉ mang lại lợi ích an ninh mà còn thúc đẩy SEO.
Tuy nhiên, nhược điểm của việc sử dụng SSL ở khắp mọi nơi là giao thức truyền tải HTTPS chậm hơn so với giao thức truyền tải HTTP không an toàn. Điều này là do các dữ liệu phải được mã hóa trước khi gửi đi và giải mã trước khi được hiển thị. Mất thêm thời gian xử lý cho cả máy chủ gửi dữ liệu và trình duyệt web nhận dữ liệu.
Thời gian tải trang cũng rất quan trọng với trải nghiệm người dùng và SEO. Vậy nên, bạn phải cân nhắc xem liệu dùng SSL và không dùng SSL, cái nào có lợi hơn?
Thiết lập SSL trong WordPress bằng phương pháp thủ công
Có một hằng số mà bạn có thể thiết lập trong tập tin wp-config.php để bắt buộc sử dụng một kết nối an toàn trong bảng quản trị WordPress. FORCE_SSL_ADMIN sẽ yêu cầu một chứng chỉ SSL hợp lệ và HTTPS sẽ được sử dụng để truy cập vào bất kỳ thành phần nào của WordPress Dashboard.
Hằng số này là false theo mặc định. Bạn có thể kích hoạt nó bằng cách thêm dòng mã sau vào tập tin wp-config.php:
define( ‘FORCE_SSL_ADMIN’, true );
Có một bài viết tuyệt vời trong codex mà bạn nên đọc nếu muốn cấu hình HTTPS trên trang web của mình. Chẳng hạn như làm thế nào để yêu cầu SSL trên tất cả các trang front-end. Cá nhân, nếu tôi không thể làm tất cả mọi thứ tôi cần với đoạn mã trong wp-config.php, tôi sẽ sử dụng một plugin để làm điều đó. Đó cũng sẽ là những gì tôi sẽ giới thiệu trong phần tiếp theo.
Sử dụng HTTPS WordPress plugin
Một plugin miễn phí có tên gọi là WordPress HTTPS (SSL) giúp tất cả các thiết lập kể trên trở nên rất dễ dàng. Plugin này chưa được cập nhật trong một thời gian khá dài và hiện mới chỉ được thử nghiệm lên đến phiên bản WordPress 3.5.2, nhưng tôi có thể khẳng đinh với các bạn là nó hoạt động tốt trên cả WordPress 3.9 và WordPress 4.0.
Plugin này có 2 tính năng chính. Nó cho phép bạn cài đặt các thiết lập global SSL cho trang web đơn hoặc trang web trên một hệ thống multi-site. Nếu bạn không thể bắt buộc dùng SSL cho tất cả các nội dung thì plugin này cũng cho phép bạn thiết lập HTTPS cho các bài viết hoặc các trang cụ thể.
Cấu hình các thiết lập global rất dễ dàng. Từ màn hình quản trị của plugin, nó sẽ cho phép bạn lựa chọn cho trang web đơn hoặc từng trang web trên mộ hệ thống multi-site, yêu cầu HTTPS cho quản trị viên, cho toàn bộ trang web và loại bỏ nội dung không an toàn.
Plugin này cũng giúp chèn thêm một metabox vào trình biên tập bài viết, cho phép bạn thiết lập bắt buộc sử dụng HTTPS cho các bài viết hoặc trang. Điều này rất hữu ích nếu bạn chỉ có một vài trang cần phải trao đổi thông tin an toàn, chẳng hạn như là một trang quản lý tài khoản hoặc một trang bán hàng.
Bạn có đang sử dụng SSL cho trang web của mình? Hãy chia sẻ với chúng tôi ý kiến của bạn bằng cách sử dụng khung bình luận bên dưới.
Nếu bạn thích bài viết này, hãy subscribe blog của tôi để thường xuyên cập nhật những bài viết hay nhất, mới nhất từ qua email nhé. Cảm ơn rất nhiều. :)






Trong CloudFlare chọn chế độ Full Strict SSL ấy. :P
thanks bác nhiều
Mày mò cả ngày cũng cài đc ssl, mà hình như cài xong rồi mà dùng cloudflare nó bị lỗi ah bác, lúc truy cập đc lúc không, nó cứ báo là quá nhiều chuyển hướng. đành phải tắt cloudflare
Bửa giờ cũng đau đầu vì vụ này, mò mãi ko ra ghét khôi phục lại ban đầu luôn, hehe
tôi cài plugin WP HTTPS như ở trên đó, rồi vào đó bấm lung tung, bây giờ nó khóa bảng điều khiển, không cách nào làm gì đươc, sau đó chạy vào trang quản lý hosting nhưng không biết phải vào chỗ nào để xóa plusgin WP HTTPS, bạn có thể chỉ rõ vào đâu được không!
Bạn vào host thông qua FTP sau đó xóa hoặc đổi tên thư mục của plugin WP HTTPS đi là sẽ vào được. :P
huhu, tôi cũng bị khóa wp-admin, vào trang quản lý godaddy, rồi tìm đến chỗ nào xóa hả bạn??? khóa lại rồi.
Bạn làm gì mà không vào được wp-admin vậy? :P
Cho hỏi nhờ cái: sau khi mình chuyển sang Https, minh co phải redirect từ website cũ sang https không vì mình vẫn thấy cả 2 sites , có ssl và không ssl, một số link sau khi bấm vào vẫn chuyển về site cũ không ssl..bạn xử lý thế nào ?? cảm ơn
Bạn thêm đoạn code sau vào file .htaccess trong thư mục gốc của WordPress nhé:
RewriteEngine OnRewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]
Thiết lập SSL xong rồi khai báo với google kiểu gì vậy bạn? mình mới cài xong mà không biết khai báo thay đổi kiểu gì!
Bạn thêm một trang web mới vào Google Webmasters như cách thông thường thôi. Chỉ có điều link của nó là HTTPS chứ không phải HTTP như trước. :P
Hình như google webmaster không hỗ trợ https hay sao ấy, xác minh mãi mà không được
Bậy nào. Kiểm tra kỹ lại đi. Trước đây từng 1 thời gian mình cũng dùng SSL cho blog này. Khai báo bình thường nhé. Khi khai báo link viết đầy đủ HTTPS vào là được. :P
Bạn xác minh bằng phương pháp gì, mình dùng thử mấy cái rồi nhưng không được nữa.
Ah được rồi, bỏ mỗi cái dấu “/” đi là được, đúng là bó tay chấm com mà. hehe!
Thế sao cuối cùng lại không dùng nữa, cho mình xin chút ý kiến và kinh nghiệm để còn biết chút.
Một là nó làm blog mình chậm hơn một chút. Hai là bị hạn chế trong việc sử dụng các dịch vụ miễn phí. :D
Mình gặp lỗi sơ đồ trang web cho ssl rồi, lỗi 404 là sao nhỉ?
Để gỡ bỏ ssl và https mình phải làm thế nào. Mình làm mãi mà ko đc. Hic
Làm ngược lại so với khi cài SSL thôi bạn. Bạn đã cài những cái gì thì gỡ cái đó ra. :-P
Không phải, ý em là một server, mà các trang web khác có thể mua và thiết lập ssl không, hay phải mua thêm IP
Hiện tại OpenSSL có thể cài được trên shared IP (không cần dedicated IP) nên bạn có thể cài SSL cho nhiều website chung IP trên 1 server. :P
Một vps có thể thiết lập https cho nhiều website trên đó được không anh?
Mình nghĩ là được, tuy nhiên PositiveSSL mua với giá $9.98 ở Namecheap chỉ dùng được cho 1 domain duy nhất mà thôi. Nếu muốn dùng cho nhiều domain thì bạn phải mua loại đắt hơn :P
em chót dùng plugin WordPress HTTPS (SSL), giờ em không thể truy cập vào wp-admin để seting lại. :(( làm sao giờ nhỉ. híc. chẳng nhẽ e phải cài lại wp.
Bạn đăng nhập vào trang quản lý hosting sau đó xóa folder của plugin WP HTTPS đi là được mà. Plugin này chỉ có tác dụng redirect URL chứ nó không hề thay đổi các URL trong database. Có nghĩa là URL trong database vẫn là HTTP chứ không phải HTTPS. :)
vâng em cảm ơn ạz. e cứ nghĩ là nó thay đổi cả 1 số url trong wp-admin, định gỡ ra cài lại nhưng thấy nó chỉ ảnh hưởng wp-admin nên thôi. h em vào xem thế nào. :)
Bạn cứ xóa plugin đi làm được. :D