06082 928047Anfahrt

Umstellung einer TYPO3-Website auf SSL

Der folgende Artikel beschreibt, wie eine TYPO3-basierte Website vollständig mit dem https-Protokoll verschlüsselt wird. Die Verschlüsselung ist in Deutschland aus datenschutzrechtlichen Gründen oftmals Pflicht(siehe hierzu "SSL wird zum Quasi-Standard").

Voraussetzung für die Nutzung des https-Protokolls ist ein SSL-Zertifikat, dass man i.d.R. bei seinem Provider bestellen kann. Die Konfiguration ist je nach Dienstleister unterschiedlich. In den meisten Fällen wird das Zertifikat aber sofort einsatzbereit zur Verfügung gestellt.

Hinweis:

Ein SSL-Zertifikat läuft unter einer eigenen IP-Adresse. D.h. wenn Sie Ihre Domain bei einem anderen Provider hosten als die Website, muss diese Domain auf die neue IP-Adresse umgestellt werden(siehe DNS-Zone). Betroffen ist der A-Record für die Domain(also www.xyz.de bzw. xyz.de).

Umstellung des Frontends auf SSL

Um eine TYPO3-Website mit dem https:// Protokoll zu verschlüsseln, müssen folgende Schritte unternommen werden:

  1. Stellen Sie alle http-Angaben in den TypoScript-Templates auf https um
    Oftmals verwendet werden baseURL-Angaben, sowie JavaScript-Snippets(z.B. für Webanalyse-Tools wie google Analytics oder Piwik) oder die Einbindung externer Ressourcen(z.B. jQuery aus dem CDN, Schriftarten oder APIs). Betroffene Stellen finden Sie im Quellcode u.a. im link-Tag(<link href='...>) oder bei src-Angaben in JavaScript(<script src='...) Verlinkungen von einer Webpage zu einer anderen sind davon nicht betroffen.
    Solange eine Webpage nicht verschlüsselte Ressourcen inkludiert, markieren Browser die Website als nicht vollständig sicher(s.u.: durch Warnhinweis oder z.B. einem Ausrufezeichen in der Browserzeile)
  2. https als Standard-Protokoll festlegen
    Legen Sie https in TYPO3 als Standard-Protokoll fest, in dem Sie auf der root-Seite(oberste Seite im Seitenbaum) unter Seiteneigenschaften -> Ressourcen im Feld Seiten-TSConfig folgendes eintragen:
    • TCAdefaults.pages.url_scheme = 2
    Hierduch werden alle neu angelegten Seiten automatisch auf https eingestellt.
  3. Umstellung aller Content-Seiten auf https
    In TYPO3 lässt sich für jede einzelne Seite festlegen, mit welchem Protokoll(z.B. http oder https) sie ausgeliefert werden soll(siehe Seiteneigenschaften -> Verhalten -> Benutze Protokoll). Um sich die Mühe zu ersparen, jede einzelne Website manuell nach https umzustellen, empfiehlt sich ein direkter Eingriff in die Datenbank(z.B. mit phpmyadmin). Durch folgenden SQL-Befehl werden alle Seiten nachträglich auf https eingestellt:
    • UPDATE pages SET url_scheme = 2
    Hinweis: Mit diesem SQL-Statement setzen Sie alle Seiten des TYPO3-Systems auf https. Wenn Sie mehrere Websites mit einem Backend pflegen(Multisite), aber nicht alle unter https laufen sollen, dürfen Sie diesen Befehl nicht ausführen!
  4. Stellen Sie sicher, dass alle zusätzlichen Domains(auch die ohne "www") auf die https-Version der Website verweisen. Infos zur Domainkonfiguration finden Sie hier

Nach diesen Maßnahmen löschen Sie nocheinmal den Cache und rufen Ihre Website OHNE vorangestelltes "https:" auf. In der Browserzeile sollte https dann automatisch vorangestellt werden.

    Hinweis

    Ab TYPO3 v8 ist es nicht mehr möglich, das Protokoll(http oder https) einzelner Seiten über die Seiteneigenschaften zu definieren. Stattdessen ist eine entsprechende Konfiguration in der Datei .htaccess im Root-Verzeichnis vorzunehmen.

    Bsp.: Alle Seiten der Website "www.wacon.de" sollen auf "https://" umgeleitet werden:

    RewriteCond %{SERVER_PORT} !^443$
    RewriteCond %{HTTP_HOST} ^www\.wacon\.de$ [NC]
    RewriteRule ^(.*)$ https://www.wacon.de/$1 [R=301,L]

    Der Abschnitt "Umstellung testen" weiter unten auf dieser Seite bleibt weiterhein gültig.

    TYPO3-Backend in SSL erzwingen

    Das TYPO3-Backend ist als Unterverzeichnis auf dem Webspace (www.xyz.de/typo3) zwar automatisch auch via https aufrufbar. Allerdings nur, wenn beim Aufruf auch "https" angegeben wird. Da dies häufig vergessen wird und die Übertragung dann unverschlüsselt erfolgt, empfiehlt sich ein automatisches Umschalten analog zum Frontend.

    Hierfür ist eine Einstellung im Install-Tool(siehe www.xyz.de/typo3/install) erforderlich:

    All Configuration -> TYPO3_CONF_VARS["BE"] -> [BE][lockSSL] = 2

    Umstellung testen

    Nach erfolgreicher Umstellung  erscheint links neben der Adresszeile ein grünes Schloss

    Wenn beim Seitenaufruf auf nicht verschlüsselte Ressourcen(z.B. ausgelagerte CSS, Bilder, Third-Party-Services, etc.) zugegriffen wird, dann erscheint in der Adresszeile neben dem Schloss noch ein gelbes Warndreieck.

    Überprüfen Sie in diesem Fall den Sourcecode der Seite und suchen Sie nach dem Text "http:". Häufig kommt es z.B. vor, dass Tracking-Software(z.B. Piwik) eingesetzt wird und die Verbindung zu diesen Programmen noch unverschlüsselt ist.

    Des weiteren können unsichere Verbindungen auch "indirekt" über ausgelagerte CSS- oder JavaScript-Dateien verursacht werden. Ein typischer Fehler ist das Importieren einer google-Schriftart:

    Bsp:

    @import (http://fonts.googleapis.com/css?family=Open+Sans:300,600,400);

    Hier muss "http" durch "https" ersetzt werden.

    Je nach lokalen Sicherheitseinstellungen des Besuchers können solche kleinen Fehler schon dazu führen, dass die Website nicht mehr angezeigt wird. Stattdessen erhält der Besucher die Meldung "Your connection is not private":

    Achten Sie also auch eine saubere, fehlerfreie SSL-Umstellung Ihrer TYPO3-Website!

    Sollten Sie Probleme haben oder nict weiter kommen, helfen wir Ihnen gerne. Nehmen Sie einfach Kontakt mit uns aus.

    Google reagiert nach kurzer Zeit

    Erfreulicherweise haben wir die Erfahrung gemacht, dass die Umstellung nach den oben beschriebenden Maßnahmen auch im google-Index relativ schnell(nach einigen Tagen) von statten geht und die Website in den organischen Suchergebnissen via "https" verlinkt wird. Dennoch empfiehlt sich eine neue google-sitemap generieren zu lassen und in der search console einzureichen.


    Einen Kommentar schreiben

    * Diese Felder sind Pflichtfelder

    Kommentare

    Bislang liegen zu diesem Artikel keine Kommentare vor.