HTTPS der Webseite aktivieren

From Joomla! Documentation

Revision as of 12:24, 15 April 2020 by Blancanieve (talk | contribs)
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎español • ‎français • ‎italiano • ‎português do Brasil

Was ist SSL/TLS?

Transport Layer Security (TLS) ist der Nachfolger von Secure Sockets Layer (SSL) - obwohl es in Blogbeiträgen oft immer noch als SSL bezeichnet wird. Vielen ist beim Surfen im Internet sicher schon einmal das Schlosszeichen neben der URL aufgefallen (abhängig vom verwendeten Browser). Das bedeutet, dass alle Daten verschlüsselt an diese Webseite gesendet werden. Daher kann jemand, der ein Netzwerk (oder ähnliches) gehackt hat und Anfragen abfangen kann, keine der Daten einsehen - er kann nur sehen, auf welche URLs zugegriffen wird.

Warum ist die Verwendung von TLS wichtig?

Google (und die meisten anderen Suchmaschinen) behandeln Webseiten, die https verwenden, inzwischen bevorzugt[1]. Darüber hinaus weisen viele Browser die Benutzer darauf hin, wenn eine Webseite mit einem Formular (z. B. ein Anmelde- oder Kontaktformular) kein https verwendet[2].

Wie richte ich TLS ein?

Die Einrichtung des Zertifikats sollte der Hosting-Provider übernehmen.

Welches Zertifikat verwendet werden muss, hängt von den auf der Webseite erforderlichen Sicherheitsvorkehrungen ab. Wenn darüber keine Informationen vorliegen, dann ist wahrscheinlich die billigste und einfachste Option die Verwendung von Let's Encrypt. Es ist kostenlos und kann je nach Hosting-Provider oft direkt vom cpanel- oder plesk-Hosting-Dashboard aus konfiguriert werden.

Ein gekauftes Dedicated IP- und SSL-Zertifikat sollte vom Hosting-Provider eingerichtet werden. Er wird es signieren lassen und am richtigen Ort installieren.

Wie leite ich den Traffic meiner Webseite über https um?

In Joomla

Der einfachste Weg zur Erzwingung von https-Traffic ist es, dies innerhalb von Joomla zu tun. In der Globalen Konfiguration gibt es eine "HTTPS erzwingen"-Option, mit der HTTPS entweder nur im Administratorbereich oder für die gesamte Site erzwungen werden kann. Meist wird Letzteres der Fall sein.

Image Showing the Force HTTPS option in the Joomla 3.x default backend template

In der Datei .htaccess

RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [QSA,R=301,L]
<IfModule !mod_ssl.c>
Redirect permanent / https://www.yourdomainname.com
</IfModule>

Komplexere Beispiele in der .htaccess

Um beispielsweise auf einer Seite, die 'abc/def' oder 'ghi' in der URL hat, von HTTP auf HTTPS umzuschalten, wird folgendes hinzugefügt:

Code:

RewriteCond %{HTTPS} off
RewriteRule ^(abc/def|ghi)(.*)/?$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]

... und um auf jeder Seite, die 'home' oder 'help' in der URL hat, von HTTPS zurück zu HTTP zu wechseln:

Code:

RewriteCond %{HTTPS} on
RewriteRule ^(home|help)(.*)/?$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]

Wenn SSL für einen bestimmten Ordner erzwungen werden soll, kann der untenstehende Code in eine .htaccess-Datei eingefügt werden, die sich in diesem bestimmten Ordner befindet:

Code:

RewriteEngine On 
RewriteCond %{REQUEST_URI} folder 
RewriteRule ^(.*)$ https://www.example.com/folder/$1 [R,L]

Die Ordnerreferenz muss auf den tatsächlichen Ordnernamen geändert werden. Außerdem sollte sichergestellt werden, dass www.example.com/folder durch den tatsächlichen Domainnamen und Ordner ersetzen, für den SSL erzwungen werden soll.