Inhaltsverzeichnis

Wie automatisch http auf https in einer Web-Anwendung Java umleiten?

View more Tutorials:

1- Was ist Https?

Hyper Text Transfer Protocol Secure (HTTPS)  ist die gesicherte Version von  HTTP (ein Protokoll (protocol), das die Daten zwischen Ihren Browser und website übertragen). 'S' am Ende von   HTTPS ist die Abkürzung von  'Secure' (sicher). Das heißt, alle Kommunikationen zwischen Ihren Browser und Website werden verschlüsselt (encrypted). HTTPS wird oft benutzt, um die strengen geheimen Online-Transaktionen wie Online-Banking und Online-Shopping Aufträge zu schützen.
Jetzt wird  HTTPS empfohlen zu benutzen. Die  HTTPS benutzenden Website bekommen auch die höhere Priorität in die Suche-Maschine von  Google.

2- http zu https umleiten

Z.B Sie haben eine  website , die mit dem Protokoll  HTTP aktiv ist. Angenommen, Sie haben  HTTPS für Ihre Website erfoglreich installiert. Aber die auf Google von den Benutzer gefundenen Seiten (page) sind noch die das Protokoll  HTTP benutzenden Links. Deshalb müssen Sie etwas machen damit wenn der Benutzer auf die Links zugrifft, wird es zu HTTPS automatisch umleiten. (redirect)
  • http://example.com/somepage ==> https://example.com/somepage
Für die Applikation  Java Web ist es sehr einfach, um  http zu  https umzuleiten. Sie brauchen eingie Konfigurationen in die File  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>
Ihre Applikation auf   Web Server packen und wieder anwenden (redeloy). Das ist alles !
Achtung: Wenn Ihre Applikation keine File  web.xml hat, können Sie es erstellen und im Verzeichnis  WEB-INF ​​​​​​​stellen.
Für die Links, die nicht sichern brauchen und zu  HTTPS nicht automatisch umleiten möchten, können Sie in  web.xml konfigurieren.
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>

View more Tutorials: