Làm sao tự động chuyển hướng http thành https trong ứng dụng Java Web
1. Https là gì?
Hyper Text Transfer Protocol Secure (HTTPS) là phiên bản bảo mật của HTTP (một giao thức (protocol) truyền dữ liệu giữa trình duyệt của bạn và website). 'S' ở cuối HTTPS là viết tắt của 'Secure' (Bảo mật). Nó có nghĩa là tất cả các giao tiếp giữa trình duyệt và website của bạn được mật mã hóa (encrypted). HTTPS thường được sử dụng để bảo vệ các giao dịch trực tuyến có tính bảo mật cao như ngân hàng trực tuyến và các đơn hàng mua sắm trực tuyến.
Hiện nay HTTPS đang được khuyến khích sử dụng, các website sử dụng HTTPS cũng nhận được ưu tiên cao hơn trong bộ máy tìm kiếm của Google.
2. Chuyển hướng http sang https
Nếu bạn có một website đang hoạt động với giao thức HTTP, giả sử rằng bạn đã cài đặt thành công HTTPS cho website của bạn. Nhưng những trang (page) mà người dùng tìm thấy trên Google vẫn là các đường dẫn sử dụng giao thức HTTP, vì vậy bạn cần phải làm gì đó để khi người dùng truy cập vào các đường dẫn này nó sẽ tự động chuyển hướng (redirect) tới HTTPS.
- http://example.com/somepage ==> https://example.com/somepage
Với các ứng dụng Java Web để tự động chuyển hướng http sang https khá đơn giản. Bạn cần vài cấu hình trong tập tin web.xml:
web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>My Web App</display-name>
<!-- .... -->
<security-constraint>
<web-resource-collection>
<web-resource-name>SessionTest</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<!-- .... -->
</web-app>
Đóng gói và triển khai lại (redeloy) ứng dụng của bạn lên Web Server. Tất cả chỉ có vậy!
Chú ý: Nếu ứng dụng của bạn không có tập tin web.xml, bạn có thể tạo nó và đặt vào thư mục WEB-INF.
Với các đường dẫn không cần bảo mật, và không muốn tự động chuyển hướng sang HTTPS bạn cũng có thể cấu hình trong web.xml.
web.xml
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>My Web App</display-name>
<!-- .... -->
<security-constraint>
<web-resource-collection>
<web-resource-name>SessionTest</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Non-SecureResource</web-resource-name>
<url-pattern>/test.jsp</url-pattern>
<url-pattern>/somepath/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<!-- .... -->
</web-app>
Hướng dẫn lập trình Java Servlet/JSP
- Cài đặt Tomcat Server cho Eclipse
- Cài đặt Glassfish Web Server trên Windows
- Chạy ứng dụng Java web Maven trên Tomcat Maven Plugin
- Chạy ứng dụng Java Web Maven trên Jetty Maven Plugin
- Ví dụ luồng chạy ngầm trong ứng dụng Java Servlet
- Hướng dẫn lập trình Java Servlet cho người mới bắt đầu
- Hướng dẫn và ví dụ Java Servlet Filter
- Hướng dẫn lập trình Java JSP cho người mới bắt đầu
- Hướng dẫn sử dụng Java JSP Standard Tag Library (JSTL)
- Cài đặt Web Tools Platform cho Eclipse
- Tạo một ứng dụng Login đơn giản và bảo mật với Java Servlet Filter
- Tạo một ứng dụng Java Web đơn giản sử dụng Servlet, JSP và JDBC
- Upload và download file lưu trữ trên ổ cứng với Java Servlet
- Upload và Download file từ Database sử dụng Java Servlet
- Hiển thị ảnh từ database với Java Servlet
- Redirect 301 chuyển hướng vĩnh viễn trong Java Servlet
- Làm sao tự động chuyển hướng http thành https trong ứng dụng Java Web
- Hướng dẫn sử dụng Google reCAPTCHA trong ứng dụng Web Java
Show More