HTTP zu HTTPS Redirect
Internet Information Services
Im IIS (Windows) werden HTTP/HTTPS Redirects in der Datei web.config
konfiguriert.
Wird die komplette Site umgeleitet, ist die entsprechende Datei im Root-Ordner der Site anzupassen. Wenn nur ein Teil der Site umgeleitet werden soll, ist die entsprechende Datei des Site Unterordners anzupassen.
Folgende Einträge müssen vorgenommen werden:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="Redirect HTTP to HTTPS" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="^OFF$" ignoreCase="true" /> </conditions> <action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
Sollte nach der Änderung im Browser eine too many redirects Fehlermeldung angezeigt werden, ist im <action>-Tag der Wert url="https://{HTTP_HOST}/{R:1}"
mit dem Wert der tatsächlichen Domain (z.B.: url="https://www.mydomain.com/{R:1}"
) zu ersetzen.
Apache
In Apache (Linux/Windows) werden HTTP/HTTPS Redirects am Einfachsten in der Datei .htaccess
konfiguriert.
Wird die komplette Site umgeleitet, ist die entsprechende Datei im Root-Ordner der Site anzupassen. Wenn nur ein Teil der Site umgeleitet werden soll, ist die entsprechende Datei des Site Unterordners anzupassen.
Folgende Einträge müssen vorgenommen werden:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Enthält die Datei .htaccess
bereits den Eintrag RewriteEngine On, sind die restlichen Einträge direkt darunter einzufügen.
Nginx
Die Konfiguration des Redirects wird in der nginx.conf
Datei vorgenommen.
server { listen 80; server_name <your>.<domain>; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name <your>.<domain>; ssl_certificate /<Path-To-Certificate>/<Certificate/Chain>.crt; ssl_certificate_key /<Path-To-Private-Key>/<Private-Key>.pem; }
Tomcat
Die Tomcat Konfiguration für den Redirect ist am Aufwendigsten, da gleich 2 Konfigurationsdateien angepasst werden müssen. Zum Einen die Datei $CATALINA_HOME\conf\server.xml
, in der die Port Connectors angelegt werden müssen und zum Anderen die Datei $CATALINA_HOME\WEB-INF\web.xml
, in der die eigentliche Redirect-Konfiguration vorgenommen wird.
$CATALINA_HOME\conf\server.xml
<!-- Define a SSL HTTP/1.1 Connector on port 8443 --> <Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile="<Path>\<Keystore-File>.jks" keystorePass="<Keystore-Password>" clientAuth="false" sslProtocol="TLS" />
$CATALINA_HOME\WEB-INF\web.xml
<web-app> ... <security-constraint> <web-resource-collection> <web-resource-name><Web-Resource></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>