Montag, 13. April 2020

HTTPS - Weiterleitung per .htaccess

Mit Hilfe einer .htaccess Datei lassen sich verschiedene Einstellungen eines Apache Webservers vornehmen. Darunter fallen zum Beispiel Weiterleitungen oder auch ein Passwort geschützter Bereich. In dem Beitrag beschreibe ich kurz das Vorgehen zur Einrichtung einer Weiterleitung auf HTTPS.


Hat man für seine Webseite nur ein Webhosting-Paket bestellt, lässt sich keine direkte Konfiguration am Apache Webserver selber vornehmen. Um z.B. eine Weiterleitung per HTTP zu HTTPS mit Hilfe der Apache Virtual Host Konfiguration vorzunehmen.

Mit HTTPS werden alle Daten zwischen dem Browser und dem Webserver verschlüsselt und somit sicher übertragen. Bevor eine HTTP zu HTTPS-Umleitung für die Domain erfolgen kann, muss ein SSL-Zertifikat installiert und aktiviert werden. Dies geht mittlerweile bei den meisten Webhostern relativ einfach z.B. mit kostenfreien Let’s Encrypt Zertifikaten.

Domain auf verschlüsselte Verbindung (HTTPS) weiterleiten

Die Weiterleitung erfolgt mit Hilfe einer .htaccess Datei. Das notwendige Apache Modul mod_rewrite ist bei den Hosting Angeboten in der Regel immer aktiv.

Verwende ich einen eigenen Server, muss ich das Modul mit dem folgenden Befehl aktivieren und anschließend den Webserver neustarten.
sudo a2enmod rewrite
Hinweis: Sollte man auf Inhalte der Webseite z.B. per HTML-Wrapper-App noch mit HTTP zugreifen, sollten die Verlinknungen innerhalb der App auf HTTPS umgestellt werden. Ansonsten öffnet sich direkt ein Browser Dialog wegen der Weiterleitung auf HTTPS.

Jetzt muss nur noch die .htaccess Datei im Domain-Stammverzeichnis erstellt werden und die nachfolgenden Zeilen eingefügt werden, um HTTP zu HTTPS umzuleiten.


# Weiterleitung (Redirect) https
RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$

# 301: Die Weiterleitung ist dauerhaft
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]


Keine Kommentare:

Kommentar posten