Ngày đăng: 2015-10-06 15:42:02 | Cập nhật: 2016-01-14 13:56:48
Sau khi trang bị chứng thư số SSL cho website, bạn có thể cấu hình để máy chủ tự chuyển từ HTTP sang HTTPS để gia tăng độ bảo mật cho website.
Apache
nginx
IIS5 và IIS6
IIS7.x
IIS8.x
Tomcat/JBoss
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à tìm đoạn sau:
RewriteEngine On
Nếu không tìm thấy đoạn trên, bạn cần thêm vào file cấu hình. Sau đó, thêm vào đoạn sau đây ngay phía sau:
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
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:
server {
listen 80;
server_name yourdomain.com;
return 301 https://$server_name$request_uri;
}
Sau đó khởi động lại nginx:
service nginx restart
Nguyên tắc cơ bản như sau:
1. Tạo một Website có chức năng Redirect cho domain của bạn trên port 80 (HTTP).
2. 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).
3. 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:
1. Từ màn hình IIS Manager, nhấp chuột phải vào Website chính, chọn Properties.
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.
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.
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.
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.
Kể từ lúc này, khi bạn truy cập vào địa chỉ http://youdomain.com, IIS sẽ truy xuất vào Website Redirect trên port 80 (HTTP). Ngay sau đó, IIS sẽ redirect trình duyệt đến trang https://yourdomain.com và cuối cùng IIS sẽ truy xuất vào Website Chính trên port 443 (HTTPS).
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.
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
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:
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions><add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
</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.
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.
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
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
CONDITIONS
ACTION
Lưu ý: Nếu bạn muốn hỗ trợ redirect cả sub folder thì chỉnh như sau:
CONDITIONS
ACTION
Các kết nối vào website trên HTTP sẽ được tự động chuyển sang HTTPS.
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:
<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" />
<Connector port="80" enableLookups="false" redirectPort="443" />
Mở 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>
<!-- 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.