Manual Einrichtung Weiterleitung HTTPS

Aus EUserv Wiki

Wechseln zu: Navigation, Suche

Einrichtung einer permanenten Weiterleitung von HTTP auf HTTPS

Inhaltsverzeichnis

Einrichtung einer permanenten Weiterleitung von HTTP auf HTTPS

Allgemeines

Wenn Sie eine Webseite betreiben und bei der Kommunikation zwischen dem Webserver und dem Besucher Ihrer Webeite sensible Daten ausgetauscht werden, empfiehlt sich immer eine HTTPS (Hypertext Transfer Protocol Secure) verschlüsselte Verbindung einzurichten.

Wie Sie Ihre Webseite ohne zusätzliche Plugins auf HTTPS umstellen können und was dabei zu beachten ist, erfahren Sie in dieser Anleitung.


Voraussetzungen

Bevor Sie mit der Einrichtung einer permanenten Weiterleitung von HTTP auf HTTPS beginnen können, müssen folgende Voraussetzungen erfüllt sein:

  • Eingerichteter Webserver bzw. Webspace, der unter HTTP:// sowie HTTPS:// erreichbar ist
  • Lauffähige Website im Rootverzeichnis des Webservers
  • Installiertes SSL Zertifikat oder Nutzung von shared SSL
  • FTP-Zugangsdaten zum Speicherplatz des Webservers für das Hochladen von Dateien


Um Ihre sensiblen Daten zu schützen, ist ein SSL Zertifikat mit einer qualifizierten Signatur nötig. Im EUserv Kundencenter haben Sie die Möglichkeit SSL-Support für Subdomains Ihres Webspace-Vertrages zu aktivieren. Die folgende Wiki-Anleitung gibt Ihnen dazu eine Hilfestellung:

Kundencenter Webspace SSL-Support

Die Einrichtung einer HTTPS-Weiterleitung erfordert das Hochladen von Dateien auf Ihren Webserver via FTP. Aus diesem Grund halten Sie bitte folgende FTP-Zugangsdaten bereit: <br

  • Adresse des FTP-Servers
  • FTP-Benutzername
  • FTP-Passwort


Wenn Sie für Ihren Webspace bereits FTP-Accounts angelegt haben, finden Sie die FTP-Benutzerdaten im EUserv Kundencenter. Wenn Sie für Ihren Webspace bislang noch keine FTP-Accounts angelegt haben, hilft Ihnen die folgende Wiki-Anleitung:

Anlegen von FTP-Accounts

Sind alle Voraussetzungen erfüllt, können Sie nun mit einer der nachfolgend vorgestellten Möglichkeiten eine dauerhafte Weiterleitung Ihrer Webseite von HTTP auf HTTPS einrichten. Diese Art der dauerthaften Weiterleitung wird auch 301 Redirect genannt.


Permanente Weiterleitung von HTTP auf HTTPS

Übersicht der Techniken

Um eine Webseite, die über http:// aufgerufen wurde, permanent auf eine verschlüsselte URL mit https:// weiterzuleiten, können unter anderen folgende Techniken genutzt werden:

  • .htaccess - Datei im Rootverzeichnis des Webspace
  • Nutzung von PHP mittels Header-Redirect
  • Nutzung des Meta-Refresh Tags in HTML


Einrichtung mittels .htaccess - Datei im Rootverzeichnis des Webspace

Allgemeine Informationen zu .htaccess - Dateien

Die .htaccess Datei ist eine Konfigurationsdatei (Textdokument), die im Hauptverzeichnis einer Webseite angelegt werden sollte. Dabei handelt es sich in der Regel um dasselbe Verzeichnis, in dem sich auch die index.php oder index.htm Seiten befinden. Um diese Datei auf Ihren Webspace hochladen zu können, benötigen Sie das File Transfer Protokoll (FTP)und FTP-Account(s).

Allgemeine Einrichtung mittels .htaccess

Erstellen Sie eine Datei mit Namen .htaccess mit einem Texteditor Ihrer Wahl. Sollen alle Seiten einer Domain ausschließlich über eine SSL-Verbindung aufgerufen werden, so kann dies über einen Eintrag in dieser .htaccess Datei im Startverzeichnis der Domain eingerichtet werden: Fügen Sie dazu folgenden Quellcode in die .htaccess-Datei ein. Ersetzen Sie dabei <HOMEPAGE.DE> mit Ihrer entsprechenden Domain:


RewriteEngine On
RewriteCond %{HTTP:X-SSL} !^1$
RewriteRule (.*) https://www.<HOMEPAGE.DE>$1 [R=301,L]


Laden Sie diese .htaccess-Datei mittels FTP-Programm (z.B. FileZilla) und Ihren FTP-Benutzerdaten in das Hauptverzeichnis Ihrer Webseite hoch.

Nun wird Ihre Webseite mit einem permanenten Redirect mittels .htaccess-Datei auf HTTPS weitergeleitet. Für den Besucher Ihrer Webseite bleibt dieser Vorgang unbemerkt, da der Prozess im Hintergrund stattfindet. Sollte dies nicht funktionieren, leeren Sie bitte Ihren Browser Cache.

Bitte beachten Sie, dass fehlerhafte Eingaben in der .htaccess Datei unter Umständen schwerwiegende Auswirkungen haben könnten. Änderungen an der .htaccess treten direkt nach der Speicherung des Dokuments in Kraft. Erstellen Sie deshalb vor einer Änderung der .htaccess Datei eine Sicherungskopie!


Anwendungsbeispiel .htaccess

RewriteEngine On
RewriteCond %{HTTP:X-SSL} !^1$
RewriteRule (.*) https://www.euserv.de$1 [R=301,L]


In der ersten Zeile wird die Funktion zum Umschreiben von URLs im Apache Webserver aktiviert. In der zweiten Zeile wird geprüft ob der Header für die SSL-Verschlüsselung gesetzt ist. Zeile 3 ist die Regel für das Umschreiben der URL. Wenn die Bedingung aus Zeile 2 zutrifft, werden die Aufrufe einer beliebigen Seite auf https://www.euserv.de umgeleitet. Mit /$1 wird die ursprüngliche URL (z.B. impressum.html) an den Domainnamen angefügt. Mit dem Parameter [L] wird angegeben, dass das Umschreiben der URLs hier enden soll, weitere Zeilen in der .htaccess Datei werden also ignoriert.

Nutzung von PHP mittels Header-Redirect

Allgemeine Informationen zum PHP Header-Redirect

Um eine permanente Weiterleitung von HTTP auf HTTPS mit PHP einzurichten, muss das Quell-Dokument eine PHP-Datei sein. Ist diese Voraussetzung erfüllt, wird der PHP-Code zur permanenten Weiterleitung direkt in das weiterzuleitende Dokument geschrieben und die entsprechend angepasste Datei via FTP auf Ihren Webserver hochgeladen.

Allgemeine Einrichtung mittels PHP Header-Redirect

Eine weniger komplexe und trotzdem sehr mächtige Möglichkeit der Weiterleitung bietet PHP mit Hilfe der Funktion header().

Verbinden Sie sich dazu mittels FTP-Programm (z.B. FileZilla) und Ihren FTP-Benutzerdaten mit Ihrem Webspace. Öffnen Sie die Hauptseite Ihrer Webseite (index.php). Fügen Sie folgenden Quellcode in die erste Zeile der weiterzuleitenden Webseite ein. Ersetzen Sie dabei <HOMEPAGE.DE> mit Ihrer entsprechenden Domain:


<?php
   if(empty($_SERVER['HTTP_X_SSL']))
   {
    header("Location: https://www.<HOMEPAGE.DE>");
    exit;
   }
?>


Speichern Sie die Datei.

Durch das Einfügen des oben genannten Quellcodes in Form eines Header-Redirects mit PHP werden nun alle Besucher auf HTTPS weitergeleitet. Sollte dies nicht funktionieren, leeren Sie bitte Ihren Browser Cache.



Anwendungsbeispiel Header-Redirect

<?php
   if(empty($_SERVER['HTTP_X_SSL']))
   {
    header("Location: https://www.euserv.de");
    exit;
   }
?>


In diesem Beispiel werden alle Besucher, die http://www.euserv.de im Browser eingeben automatisch auf https://www.euserv.de weitergeleitet. Es wird außerdem geprüft, ob im Header die PHP-Variable für HTTPS nicht gesetzt oder 0 ist. Die Funktion exit() bewirkt dabei, dass das Parsen des aktuellen Dokuments abgebrochen wird. Dies spart nicht nur Ressourcen des Servers; auch sorgt der Abbruch dafür, dass kein HTTP-Body erzeugt wird.

Nutzung des Meta-Refresh Tags in HTML

Allgemeine Informationen zum Meta-Refresh Tag in HTML

Eine Weiterleitung mittels HTML empfiehlt sich eigentlich nur dann, wenn keine htaccess-Dateien mit permanenten Redirects möglich sind oder auch, wenn Sie während der Weiterleitung eine Willkommens- oder Informationsseite zwischenschalten möchten, die nach einigen Augenblicken zur eigentlichen Startseite führt. Um eine permanente Weiterleitung von HTTP auf HTTPS mittels HTML einzurichten, müssen Sie sich ebenfalls mittels FTP mit Ihrem Webspace verbinden.

Allgemeine Einrichtung mittels Meta-Refresh Tag

Verbinden Sie sich mittels FTP-Programm (z.B. FileZilla) und Ihren FTP-Benutzerdaten mit Ihrem Webspace. Öffnen Sie die Hauptseite Ihrer Homepage (index.php). Fügen Sie folgenden Quellcode im Header-Bereich dieser HTML-Datei ein (Ersetzen Sie dabei <HOMEPAGE.DE> mit Ihrer entsprechenden Domain):


<head>      
 ...
<?php if(empty($_SERVER['HTTP_X_SSL'])) { ?>
 <meta http-equiv="refresh" content="0;URL='https://www.<HOMEPAGE.DE>'" />    
<?php } ?>
  ...        
</head>


Speichern Sie die Datei.

Durch das Einfügen des oben genannten Quellcodes in Form eines Meta-Refresh Tags werden nun alle Besucher auf HTTPS weitergeleitet. Sollte dies nicht funktionieren, leeren Sie bitte Ihren Browser Cache.


Hinweise:


Im angegebenen Quellcode erfolgt die HTML-Weiterleitung ohne Wartezeit, denn hier ist content=“0 …“ im Quellcode hinterlegt. Möchten Sie Ihren Besuchern einen kurzen Hinweistext zur bevorstehenden Weiterleitung präsentieren, Werbung einblenden oder anderweitige Informationen zwischenschalten, können Sie der Variable „Content“ den gewünschten Zeitraum als Zahl übergeben. Wäre beispielsweise content=“20...“ im Quellcode hinterlegt, wird der Besucher nach 20 Sekunden auf die entsprechende Webseite weitergeleitet.

Die meisten Browser unterstützen diese Art der Weiterleitung. Trotzdem sollte im Body-Bereich der Webseite, also im angezeigten Text, immer auch ein klickbarer Link zur Zielseite angegeben werden. Mit diesem Link gibt man auch Besuchern, die die Funktionalität einer solchen Umleitung deaktiviert haben, die Möglichkeit, auf die Zielseite zu gelangen.


Anwendungsbeispiel Meta-Refresh Tag

<head>      
 ...
<?php if(empty($_SERVER['HTTP_X_SSL'])) { ?>
 <meta http-equiv="refresh" content="0;URL='https://www.euserv.de'" />    
<?php } ?>
  ...        
</head>

In diesem Beispiel werden alle Besucher, die http://www.euserv.de im Browser eingeben ohne Wartezeit (content="0...") auf https://www.euserv.de weitergeleitet.


Für den Fall, dass Sie alle Besucher, die http://www.euserv.de im Browser eingeben ohne Wartezeit (content="0...") auf eine Subdomain wie bsw. https://www.euserv.de/server oder auf eine andere (externe) Domain weiterleiten möchten, genügt folgender Meta-Refresh-Tag:

<head>      
 <meta http-equiv="refresh" content="0;URL='https://www.euserv.de/server'" />        
</head>