Mit Contao von HTTP nach HTTPS

Um eine bestehende Contao Website von http nach https umzuziehen, müssen einige Schritte unternommen werden: Vom Erwerb des SSL-Zertifikats, über die Anpassungen in der htaccess bis zu den Einstellungen im CMS...

Contao http nach https - SSL Theme

Sicherheit und Datenschutz im Web wurden in den letzten Jahren immer wichtiger.
Nach den Änderungen im Telemediengesetz diesen Jahres ist man als Betreiber einer Website fast schon verpflichtet, eine SSL-Verschlüsselung einzusetzen. Vor allem, wenn ein Kontaktformular auf der Website genutzt wird, mit welchem der Name eines Users erfasst wird. 

Zwar beschreibt das Gesetz auch, dass eine gewisse Verhältnissmässigkeit für Investitionen zum der Schutz der User gewahrt bleiben soll - wo da aber die Grenze liegt, bleibt unklar. Wir gehen davon aus, dass 50 Euro im Jahr für ein SSL-Zertifikat sicher noch innerhalb dieser Grenze liegt - und da die angedrohten Strafen regelrecht drakonisch sind (bis 50.000 Euro) - darf sich jeder selbst Gedanken darüber machen, ob er auf Nummer sicher gehen möchte.

 

SSL Zertifikat erwerben

Ob man nun eine Contao Website von HTTP nach HTTPS umziehen oder ein anderes Content-Management-System auf eine SSL Verbindung switchen möchte, die folgenden Schritte sind erstmal die gleichen. Das Einrichten des Sercureservers sollte darüber hinaus eigentlich recht einfach sein - vorausgesetzt man umgeht ein paar Fallstricke. Doch dazu später mehr.

Damit die eigene Website unter SSL läuft, muss zunächst ein Zertifikat erworben werden. In der Regel wird dieses vom Provider angeboten und kostet eine jährliche Gebühr. Demnach ist der erste Schritt sich in das Kundenportal seines Providers einzuloggen und dort das Zertifikat zu bestellen. 

Domains und Subdomains 

Wenn wir in der „htaccess“-Datei eine Weiterleitung von „beispiel-domain.de“ nach „www.beispiel-domain.de“ eingerichtet haben, müssen wir auch das Zertifikat für „www.beispiel-domain.de“ bestellen.
Das bedeutet, dass ggf. für unsere Website „www.beispiel-domain.de“ noch eine Subdomain eingerichtet werden muss. Nämlich die Subdomain „www“ für die Domain „beispiel-domain“.

Ein SLL Zertifikat ist nämlich immer nur für eine Domain gültig.
Sollten wir also noch eine Subdomain wie „beispiel.beispiel-domain.de“ besitzen und möchten, dass diese auch SSL verschlüsselt wird, dann müssen wir für diese Domain ein eigenes Zertifikat erwerben. An dieser Stelle wird sehr schnell klar, dass auch günstige SLL-Zertifikate u.U. sehr schnell sehr teuer werden können, wenn wir viele Domains betreiben.

Wenn wir dann das Zertifikat erfolgreich für die richtige Domain bestellt haben, dauert es im Allgemeinen ca. 24 Stunden bis dieses aktiviert wird. Von da an läuft unsere Seite verschlüsselt. Vorausgesetzt wir leiten die User auch entsprechend auf die verschlüsselte Seite weiter. Das bedeutet, wir müssen jetzt einige Einstellungen in der htaccess“ Datei vornehmen.

 

Anpassung & Weiterleitung in der htaccess Datei

Folgendes möchten wir nun erreichen:
Alle Anfragen, die via http ankommen, sollen nach https weitergeleitet werden.
Alle Anfragen, die ohne „www“ ankommen, sollen auf „www“ weitergeleitet werden.


Um es zu verdeutlichen, alle Anfragen, die wie folgt aussehen:

  • Fall 1) http://beispiel-domain.de UND beispiel-domain.de
  • Fall 2) http://www.beispiel-domain.de UND www.beispiel-domain.de
  • Fall 3) https://beispiel-domain.de

sollen wie folgt weiter geleitet werden:

  • https://www.beispiel-domain.de

 

Dazu brauchen wir drei Einträge in die htaccess“ Datei. Die folgende erste Zeile sollte bereits gesetzt sein. Diese müssen wir dann nicht wiederholen.

 RewriteEngine On

Jetzt leiten wir „http“ Anfragen ohne „www“ weiter nach „https://www“. Damit haben wir unseren ersten Fall erledigt und durch den Parameter [L] wird die Ausführung der htaccess“ Datei beendet. 

 RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Für alle anderen „http“ Anfragen leiten wir nach „https“ weiter. Das wäre unser zweiter Fall.

 RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]


Den dritten Fall in der Liste können wir leider via htaccess“ Datei nicht lösen. Dieses kann nur der Provider innerhalb der Serverkonfiguration (soweit uns das bekannt ist). Also folgt hier der Griff zum Telefon.

 

Anpassungen in Contao

Im nächsten Schritt sind innerhalb von Contao einige Punkte zu erledigen. Unsere Sitemap muss jetzt alle aufgelisteten URLs mit HTTPS ausgeben. Dazu findet sich innerhalb der Seitenstruktur von Contao -> Startpunkt einer Webseite -> unter den DNS-Einstellungen die Checkbox <<https in Sitemaps>>, mit dem wir diese Einstellung einfach vornehmen können.

Des Weiteren müssen wir unsere gesamte Website nach Einbindungen überprüfen, die nicht https sind. Im Besonderen sind Einbindungen von YouTube-Videos zu beachten. Diese werden oftmals via http eingebunden und somit vom Browser blockiert. Um dieses Problem zu fixen müssen wir im entsprechenden Template die Einbindung suchen und das http gegen https ändern. Dies kann auch die Einbindung von Google Fonts betreffen, hier muss die Einbindung ebenfalls auf https geändert werden.

Besonders problematisch sind Einbindungen via iFrame, also Inhalte anderer Webseiten. Wenn diese nicht unter „https“ laufen, werden deren Inhalte im iFrame blockiert. Ein Lösung hierfür ist recht kompliziert und es ist ratsam von solchen iFrames komplett anzusehen. Sollten Sie nicht darauf verzichten können, setzen Sie sich am besten mit Ihrem Techniker oder Provider in Verbindung, denn die Lösung kann im Einzelfall sehr umfangreich werden.

zur Blogübersicht

Online Website Check

Einzelne Webseiten in wenigen Sekunden auf Fehler überprüfen, Optimierungspotenziale herausfinden und direkt verbessern. Kostenlos und anonym mit unserem Website Check Tools.

Hilfe & Support

Sie haben eine Contao Website und benötigen professionelle Unterstützung für Ihr Projekt im Bereich Webdesign, Programmierung, Software oder Online Marketing? Nehmen Sie Kontakt zu uns auf, wir freuen uns auf Sie.  

Cookie- & Analyse Einstellungen

Voreingestellt sind ausschließlich zulässige Cookies, für die keine Einwilligung benötigt wird. Analyse und Tracking, sowie weiteren funktionellen Cookies, können Sie unter "Mehr" durch Anwählen von "Ja" zustimmen.
Weitere Infos zu Cookies und Ihrem Datenschutz stellen wir Ihnen in der Datenschutzerklärung vor.

Verweigern
Akzeptieren
Mehr