Tại sao cần SSL và chuyển hướng HTTPS
SSL (Secure Sockets Layer) giúp mã hoá dữ liệu truyền giữa trình duyệt và máy chủ, bảo vệ thông tin người dùng khỏi việc bị nghe lén hoặc thay đổi. Google cũng ưu tiên các trang có HTTPS trong thuật toán SEO, vì vậy việc cài đặt chứng chỉ SSL và chuyển hướng toàn bộ lưu lượng sang HTTPS là bắt buộc đối với hầu hết các dự án web hiện nay.
Cấu hình SSL trên hosting
Hầu hết các nhà cung cấp hosting hiện nay hỗ trợ cài đặt chứng chỉ SSL miễn phí từ Let's Encrypt. Quy trình chung gồm các bước sau:
- Đăng nhập vào bảng điều khiển hosting (cPanel, Plesk, hoặc giao diện riêng).
- Chọn mục SSL/TLS hoặc Let's Encrypt SSL.
- Nhập tên miền chính và các tên miền phụ (nếu có), sau đó nhấn Install.
- Kiểm tra trạng thái SSL trên trình duyệt: biểu tượng ổ khóa xanh xuất hiện và URL bắt đầu bằng
https://.
Nếu hosting không cung cấp giao diện tự động, bạn có thể dùng certbot trên VPS để tạo chứng chỉ và tải lên thư mục /etc/ssl/ của server.
Sử dụng .htaccess để chuyển hướng HTTP sang HTTPS
Sau khi SSL đã được cài đặt, bước tiếp theo là đảm bảo mọi yêu cầu HTTP đều được chuyển hướng sang HTTPS. Điều này có thể thực hiện nhanh chóng bằng file .htaccess nằm ở thư mục gốc của website.
<IfModule mod_rewrite.c>
RewriteEngine On
# Kiểm tra nếu kết nối không phải HTTPS
RewriteCond %{HTTPS} off
# Chuyển hướng sang HTTPS, giữ nguyên đường dẫn và query string
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
Giải thích:
mod_rewritephải được bật trên server.RewriteCond %{HTTPS} offkiểm tra trạng thái kết nối.R=301trả về mã chuyển hướng vĩnh viễn, giúp công cụ tìm kiếm cập nhật URL mới.
Chuyển hướng chỉ cho một tên miền
Nếu bạn muốn chuyển hướng chỉ cho một tên miền cụ thể, thay %{HTTP_HOST} bằng tên miền thực tế:
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com%{REQUEST_URI} [L,R=301]
Kiểm tra và khắc phục lỗi thường gặp
Sau khi cấu hình, hãy kiểm tra bằng cách truy cập http://yourdomain.com. Nếu vẫn thấy trang không chuyển hướng, có thể:
- File
.htaccesskhông được server đọc vìAllowOverride Nonetrong cấu hình Apache. Cần thay đổi thànhAllowOverride Allvà khởi động lại Apache. - Modul
mod_rewritechưa được kích hoạt. Kích hoạt bằng lệnhsudo a2enmod rewritetrên VPS. - Cache trình duyệt lưu lại phiên bản HTTP cũ. Xóa cache hoặc mở chế độ ẩn danh để kiểm tra lại.
Đối với lỗi Mixed Content (nội dung hỗn hợp), hãy chắc chắn mọi tài nguyên (hình ảnh, script, CSS) được tải qua https:// hoặc sử dụng giao thức tương đối //.
Kết luận
Việc cài đặt SSL và chuyển hướng toàn bộ lưu lượng sang HTTPS không chỉ nâng cao bảo mật mà còn cải thiện thứ hạng SEO. Thông qua file .htaccess bạn có thể thực hiện chuyển hướng nhanh chóng mà không cần thay đổi mã nguồn ứng dụng.
Để nắm vững quy trình triển khai từ đầu đến cuối, bao gồm mua tên miền, cấu hình server, và xử lý các lỗi thường gặp, bạn có thể Tham khảo khóa học "Deploy Web - Triển khai website lên môi trường Internet" tại đây.




.png)



