2011-10-17 34 views
21

Để thực hiện kiểm tra Cấu hình SSL dưới Tomcat, điều này có bắt buộc không?Cấu hình ràng buộc bảo mật đối với Tomcat có bắt buộc không?

dòng dưới này được lấy từ một website:

Để làm điều này cho thử nghiệm của chúng tôi, hãy bất kỳ ứng dụng nào đã được triển khai thành công trong Tomcat và truy cập đầu tiên nó thông qua http và https để xem nó hoạt động tốt. Nếu có, sau đó mở web.xml của ứng dụng đó và chỉ cần thêm đoạn XML này trước khi ứng dụng web kết thúc tức là </web-app>:

<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>securedapp</web-resource-name> 
     <url-pattern>/*</url-pattern> 
    </web-resource-collection> 
    <user-data-constraint> 
     <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
    </user-data-constraint> 
</security-constraint> 

là cấu hình này là bắt buộc để làm bên trong một file web.xml ??

+0

Khối đó có thể nằm trong '$ {CATALINA_HOME}/conf/web.xml' nếu bạn muốn áp dụng nó cho mọi thứ. – Paul

Trả lời

35

Không, không cần thiết. Điều đó có nghĩa là ứng dụng web của bạn chỉ có sẵn thông qua HTTPS (và không có sẵn thông qua HTTP).

Nếu bạn bỏ qua thẻ <transport-guarantee>CONFIDENTIAL</transport-guarantee> (hoặc toàn bộ <security-constraint>), ứng dụng của bạn sẽ có sẵn thông qua cả HTTP và HTTPS. Nếu web.xml của bạn chứa <transport-guarantee>CONFIDENTIAL</transport-guarantee> Tomcat sẽ tự động chuyển hướng các yêu cầu đến cổng SSL nếu bạn cố gắng sử dụng HTTP.

Xin lưu ý rằng cấu hình Tomcat mặc định không bật trình kết nối SSL, bạn phải bật nó theo cách thủ công. Kiểm tra các chi tiết SSL Configuration HOW-TO.

+0

có thể số cổng vẫn giữ nguyên và chỉ chuyển hướng đến https không? – shzyincu

+0

tôi có url https://pen.srv.co.uk:8082/pentaho/Home, nó hoạt động tốt nhưng tôi muốn là, nếu người dùng cố gắng để đạt được phiên bản không https của url anh ta nên được chuyển hướng đến https từ http trên cùng một cổng 8082, là nó có thể? – shzyincu

+0

@shzyincu: Xin lỗi, tôi không thể giúp bạn về điều đó, tôi đoán bạn nên hỏi đó là một câu hỏi mới. – palacsint

4

Nếu bạn kiểm tra chặt chẽ hơn, các blog giải thích rằng tiếp tục:

Bất kỳ tài nguyên trong ứng dụng của bạn có thể được truy cập chỉ với HTTPS được nó servlets hoặc JSP của. Thuật ngữ CONFIDENTIAL là thuật ngữ cho máy chủ biết để ứng dụng hoạt động trên SSL. Nếu bạn muốn tắt chế độ SSL cho ứng dụng này thì chỉ cần xoay không xóa đoạn đó. Chỉ cần đặt giá trị là NONE thay vì CONFIDENTIAL.

Các vấn đề liên quan