Hướng dẫn buộc chuyển hướng HTTP sang HTTPS

Dịch vụ xử lý mã độc WordPress

Trong quá trình sử dụng web đôi lúc bạn gặp lỗi web chạy với giao thức HTTP mà không phải là HTTPS, mặc dù web đã có SSL rồi. Đây không phải là lỗi, mà tiền thân source code của bạn chạy HTTP, nên buộc bạn phải chuyển nó sang HTTPS mới được. Trong bài viết này tôi sẽ hướng dẫn các bạn buộc chuyển hướng HTTP sang HTTPS trên các máy chủ web.

1. Chuyển hướng HTTP sang HTTPS bằng .htaccess

Máy chủ áp dụng

  • Apache
  • LiteSpeed
  • OpenLiteSpeed

Bên trong thư mục của mã nguồn bạn hãy mở file .htaccess và thêm vào đoạn code sau. Nếu không có file này thì bạn hãy tạo mới nó.

Lưu ý: Đây là file ẩn nên bạn hãy mở hiển thị file ẩn nếu không tìm thấy

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R]

2. Chuyển hướng HTTP sang HTTPS trên NGINX

Đối với máy chủ sử dụng webserver NGINX thuần tôi không thể sử dụng tệp tin .htaccess để cấu hình, vì file .htaccess không hoạt động ở tầng máy chủ này. Và để thực hiện redirect http sang https tôi cần cấu hình trực tiếp ở file cấu hình vhost của tên miền.

Ở đây tôi sẽ sử dụng đoạn cấu hình sau để cấu hình. Bạn cần cấu hình ở trong block server { ... ở port 80 và 443

server {
    listen 80;
    server_name caissl.com www.caissl.com;
    return 301 https://caissl.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.caissl.com;

    # . . . other code

    return 301 https://caissl.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name caissl.com;

    # . . . other code
}

Sau khi sửa xong bạn kiểm tra file cấu hình nginx có lỗi không bằng lệnh nginx -t. Nếu không có lỗi thì bạn khởi động lại bằng lệnh service nginx reload

3. Sử dụng Plugin (chỉ áp dụng WordPress)

Ở đây tôi muốn giới thiệu đến bạn một Plugin là Really Simple SSL tương thích hầu hết các máy chủ và hoạt động tốt trên WordPress với hơn 5 triệu lượt tải, và bạn có thể tải xuống tại đây

Tiếp theo tôi sẽ vào phần Cài đặt và chọn dòng SSL. Sau đố bật các tính năng như ảnh bên dưới.

4. Đối với CloudFlare

Cách này chỉ khả dụng khi bạn sử dụng DNS của CloudFlare.

Với CloudFlare hiện tại đang cung cấp SSL miễn phí ở 3 chế độ khác nhau là:

  1. Flexible
  2. Full
  3. Full (Strict)

Khi sử dụng chế độ flexible, dữ liệu sẽ được truyền an toàn thông qua với mã hoá https giữa máy khách truy cập và máy chủ Cloudflare và khách truy cập sẽ thấy biểu tượng khoá SSL trên trình duyệt của họ. Tuy nhiên ở chế độ này dữ liệu truyền tải giữa máy chủ web của bạn và máy chủ của Cloudflare sẽ được truyền tải thông qua giao thức http bình thường

Nếu bạn muốn lưu lượng truy cập cũng được mã hóa giữa máy chủ Cloudflare và máy chủ web của bạn, bạn sẽ cần sử dụng chế độ Full hoặc Full (strict). Trong bài viếtnày tôi sẽ hướng dẫn các bạn cách cấu hình SSL ở chế độ Full hoặc Full (strict).