Khi bạn cài đặt SSL lên hosting thì bạn có thêm lựa chọn truy cập vào website qua giao thức https chứ không phải là nó sẽ tự động chuyển hẳn sang giao thức https, và việc này phụ thuộc vào máy chủ của bạn.
Để tự động chuyển hướng khi vào http:// sẽ chuyển sang https://. Bạn có thể áp dụng các cách dưới đây:
1. Cấu hình trên Apache
Bạn có thể dùng file .htaccess vốn luôn được hỗ trợ bởi các máy chủ chạy Apache. Mở file .htaccess và thêm một đoạn mã dưới đây vào file .htaccess
1 2 3 | RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L] |
2. Cấu hình trên Nginx
Chúng ta mở file cấu hình nginx.conf (hoặc /etc/nginx/sites-enabled/domain.conf) và tìm đoạn cấu hình cho website trên port 80, sau đó điều chỉnh như sau:
1 2 3 4 5 |
Cuối cùng khởi động lại nginx: service nginx restart
3. Cấu hình trên Tomcat/JBoss
Đầu tiên bạn mở file cấu hình server.xml của Tomcat (thường nằm trong thư mục tomcat/conf) và tìm các đoạn cấu hình cho các port 80 và 443.
Trong phần cấu hình port 80 chỉnh lại như bên dưới:
1 |< Connector port = "443" maxHttpHeaderSize = "8192" maxThreads = "150" minSpareThreads = "25" maxSpareThreads = "75" enableLookups = "false" disableUploadTimeout = "true" acceptCount = "100" scheme = "https" secure = "true" SSLEnabled = "true" clientAuth = "false" sslProtocol = "TLS" keyAlias = "tomcat" keystoreFile = "/usr/local/ssl/keystore/server.jks" keystorePass = "your_keystore_password" /> 2 |< Connector port = "80" enableLookups = "false" redirectPort = "443" /> |
Tiếp theo đến file cấu hình web.xml của website và thêm vào đoạn sau đây ở cuối file, nhưng trước thẻ </web-app>
1 2 3 4 5 6 7 8 9 10 | <!-- SSL settings. Only allow HTTPS access --> < security-constraint > < web-resource-collection > < web-resource-name >Entire Application</ web-resource-name > < url-pattern >/*</ url-pattern > </ web-resource-collection > < user-data-constraint > < transport-guarantee >CONFIDENTIAL</ transport-guarantee > </ user-data-constraint > </ security-constraint > |
Sau đó bạn cần khởi động lại Tomcat.
4. Cấu hình trên IIS5 và IIS6
Nguyên tắc cơ bản như sau:
- Tạo một Website có chức năng Redirect cho domain của bạn trên port 80 (HTTP).
- Cấu hình Website chính cho domain của bạn chỉ chạy port 443 (HTTPS) và "Require SSL". Không cho Website chính chạy port 80 (HTTP).
- Dùng chức năng Redirect của IIS để chuyển website trên port 80 (HTTP) về website trên port 443 (HTTPS).
Bạn có thể tham khảo các bước cụ thể như sau:
Bước 1: Từ màn hình IIS Manager, nhấp chuột phải vào Website chính, chọn Properties.
Bước 2: Trong màn hình Properties, chọn tab Directory Security. Trong mục Secure Communications, nhấn nút Edit. Trong màn hình Secure Communications, nhấp chọn mục Require secure channel (SSL). Sau đó nhấn OK.
Bước 3: Chọn tab Website, sau đó xóa port 80 trong mục TCP Port, và kiểm tra lại mục SSL Port cần có giá trị là 443. Sau đó nhấn Apply.
Bước 4: Tạo một website mới và đặt tên là "Website Redirect" trên port 80. Mục Host header nhập vào tên miền của Website chính. Trong mục Website Home Directory bạn chọn 1 thư mục tạm nào đó (tốt nhất là 1 thư mục rỗng). Trong mục Website Access Permissions chọn quyền Read.
Bước 5: Nhấp chuột phải vào Website Redirect và chọn Properties. Sau đó chọn tab Home Directory. Trong mục The content for this resource should come from, chọn mục A redirection to a URL và nhập vào giá trị https://yourdomain.com. Sau đó nhấn Apply.
5. Cấu hình trên IIS7.x
Bước 1: Từ màn hình IIS Manager, chọn website cần cấu hình. Trong khung bên phải chọn SSL Settings. Sau đó đảm bảo không chọn mục Require SSL rồi nhấn Apply.
Bước 2: Tải về và cài đặt module URL Rewrite 2.0 cho IIS7
Tải về module URL Rewrite phiên bản 64 bit cho IIS7
Tải về module URL Rewrite phiên bản 32 bit cho IIS7
Bước 3: Sau khi cài đặt thành công module trên, bạn dùng Notepad mở file web.config trong thư mục gốc của website và thêm vào đoạn sau giữa các thẻ <rewrite><rules> và </rules></rewrite> như sau:
1 2 3 4 5 6 | < rule name = "Redirect to HTTPS" stopProcessing = "true" > < match url = "(.*)" /> < conditions >< add input = "{HTTPS}" pattern = "^OFF$" /> </ conditions > </ rule > |
Sau khi thêm, file web.config sẽ có dạng như sau:
Các kết nối vào website trên HTTP sẽ được tự động chuyển sang HTTPS.
6. Cấu hình trên IIS8.x
Bước 1: Từ màn hình IIS Manager, chọn website cần cấu hình. Trong khung bên phải chọn SSL Settings. Sau đó đảm bảo không chọn mục Require SSL rồi nhấn Apply.
Bước 2: Tải về và cài đặt module URL Rewrite 2.0 cho IIS8
Tải về module URL Rewrite phiên bản 64 bit cho IIS8
Tải về module URL Rewrite phiên bản 32 bit cho IIS8
Bước 3: Sau khi cài đặt thành công module trên, mở màn hình IIS Manager và chọn Website cần cấu hình. Trong khung bên phải, nhấp đúp vào mục URL Rewrite. Sau đó chọn mục Add Rule và cấu hình như sau:
NAME
Select: Blank Rule
Name: http to https
Match URL – Requested URL: Matches the Pattern
Match URL – Using: Regular Expression
Pattern: (.*)
CONDITIONS
Conditions: Add
Condition Input: {HTTPS}
Check if input string: Matches the Pattern
Pattern: ^OFF$
Nhấn OK
ACTION
Action type: Redirect
Redirect URL: https://{HTTP_HOST}/{R:1}
Redirect type: See Other (303)
Nhấn Apply
Lưu ý: Nếu bạn muốn hỗ trợ redirect cả sub folder thì chỉnh như sau:
CONDITIONS
Conditions: Add
Condition Input: {HTTPS}
Check if input string: Matches the Pattern
Pattern: off
Nhấn OK
ACTION
Action type: Redirect
Redirect URL: https://{HTTP_HOST}/{R:1}
Redirect type: Permanent (301)
Nhấn Apply
Các kết nối vào website trên HTTP sẽ được tự động chuyển sang HTTPS.