Wie ich unsere Contao-Website auf HTTPS umstellte

von Dennis

Letzte Woche habe ich die Erdmann & Freunde Website auf HTTPS umgestellt – und das mit minimalem Aufwand. Erfahre hier, wie und warum auch du eure Website auf HTTPS umstellen solltest.

Contao auf https umstellen

Bisher habe ich mich nur wenig mit SSL-Zertifikaten und Verschlüsselung beschäftigt. Obwohl ich sie für ein paar Kunden im E-Commerce-Bereich oder zur Übertragung sensibler Daten (z.B. Bewerbungsformulare) einsetzte, sah ich für Erdmann & Freunde keine Notwendigkeit.

Und ich hätte wohl bis heute nicht darüber nachgedacht, wenn ich nicht bei den Recherchen zu meinem E-Book über Suchmaschinenoptimierung auf den Artikel HTTPS als Ranking Faktor gestoßen wäre.

HTTPS als SEO Ranking-Faktor

Im August 2014 hat Google HTTPS als Ranking-Faktor mit aufgenommen. Bisher zwar nur schwach gewichtet, räumt er Websites mit HTTPS immerhin einen kleinen Vorteil ein. Teilweise konnten Websites nur durch die Umstellung ihre Sichtbarkeit um bis zu 5% erhöhen.

5% – okay, das ist nicht viel – aber das könnte sich in Zukunft durchaus ändern. Bisher werden nur etwa 1% aller in Google gelisteten Websites über HTTPS verschlüsselt. Um Unternehmen weiter zu ermutigen auf HTTPS umzustellen, könnte der Ranking-Faktor zukünftig noch stärker ins Gewicht fallen.

Doch was hält dich, mich und 99% aller Websites davon ab HTTPS einzusetzen? Für mich (und vielleicht auch für dich) waren es bisher vor allen Dingen 3 Gründe:

  1. SSL-Zertifikate sind teuer
  2. Es gibt zu viele Optionen bei der Bestellung eines Zertifikats
  3. SSL-Zertifikate sind umständlich einzurichten

Als Laie ist es meiner Meinung nach eigentlich gar nicht möglich, zu beurteilen, welches Zertifikat ausreichend bzw. notwendig ist.

Die gute Nachricht: Initiativen wie Let's Encrypt wollen das ändern. Im Dezember 2015 in die Public Beta gegangen, hat die Zertifizierungsstelle vor kurzem das 1 millionste Zertifikat ausgestellt. Dank Let's Encrypt sollen sich nun auch kleinere Unternehmen HTTPS leisten können, denn das Zertifikat selbst ist kostenlos. Du brauchst also nur ein bisschen Zeit und/oder etwas Hilfe von deinem Hoster und dann kannst auch du die Verbindung zu eurer Website verschlüsseln.

Die Einrichtung eines SSL-Zertifikats

Da ich die Erdmann & Freunde Website bei uberspace hosten lasse, bin ich im Vorfeld schon auf ein paar Hinweise zur Einrichtung eines Let's Encrypt-Zertifikats gestoßen. Mithilfe der Anleitung von uberspace und ein paar Befehlen im Terminal war das Zertifikat nach wenigen Minuten eingerichtet. Damit ist es zwar immer noch nicht leicht eingerichtet, aber dafür weder teuer noch muss ich befürchten das falsche Paket zu buchen. Und die grüne Adresszeile zur Anzeige einer verschlüsselten Verbindung, die man sonst nur von größeren Unternehmen kennt, ist auch gleich dabei gewesen.

Bei All-Inkl. funktioniert die Einrichtung des Zertifikats aktuell nur über den Kunden-Support. Ein Anruf bzw. eine Mail genügt und der Support richtet euch das Zertifikat kostenlos ein. Wenn Let's Encrypt aus der Betaphase ist, soll das Zertifikat ganz einfach über die Administrationsoberfläche eingerichtet werden können.

Nachtrag von Peter Müller zu all-inkl.:

Die Umstellung auf SSL erfolgt im KAS im Bereich "Domain". Zunächst die gewünschte Domain »bearbeiten« und dann den »SSL-Schutz bearbeiten«

1. Zertifikat wird automatisch erzeugt
Im Tab »Let's Encrypt« wird das Zertifikat wie weiter oben in einem anderen Kommentar erwähnt automatisch erzeugt. Ein Anruf beim Support ist nicht mehr nötig.

2. Einträge in .htaccess nicht nötig
Im Tab »SSL-Zertifikat« kann man »SSL aktivieren« (Ja) und »SSL erzwingen« (Ja). Letzteres ersetzt die Einträge in der .htaccess, die weiter oben im Artikel erwähnt werden.

Zertifikate von Let's Encrypt müssen nach 90 Tagen verlängert werden. All-inkl versucht, dass automatisch zu erledigen.

Bei Strato und Host Europe soll die Einrichtung von Let's Encrypt SSL-Zertifikaten ebenfalls möglich sein, wenn man ein Paket mit SSH-Zugang hat. Getestet habe ich es allerdings selbst noch nicht. Solltest du Erfahrungen mit einem der Anbieter gemacht haben, würde ich mich über deinen Kommentar freuen

Contao für HTTPS einrichten

Im Gegensatz zu vielen anderen CMS ist Contao von Haus aus bereits sehr gut auf die Verwendung von HTTPS vorbereitet, d.h. die Pfade zu Ressourcen wie Bildern, CSS oder JS sind in der Regel relativ und werden automatisch über HTTPS aufgerufen, wenn die Website über HTTPS aufgerufen wird.

Prüfen, ob alle Ressourcen über HTTPS aufgerufen werden

Solltest du eure Website über HTTPS aufrufen und ein Teil der Website wird nicht korrekt geladen/dargestellt, dann liegt das höchstwahrscheinlich daran, dass eine Ressource absolut und über HTTP eingebunden wurde. Aus Sicherheitsgründen ist es bei einer HTTPS-Verbindung nicht möglich, Scripte, Bilder, CSS-Dateien aber auch Webfonts und ähnliches über HTTP zu laden. Im Web-Inspector oder Firebug findest du dann in der Konsole entsprechende Hinweise und kannst die Pfade anpassen.

Bei mir war es zum Beispiel ein Script der Besucherstatistik Piwik, die auf einem anderen Server ohne TLS-Zertifikat lag und dadurch nur per HTTP zugänglich war.

Weiterleitung auf HTTPS per .htaccess erzwingen

Damit Suchmaschinen wie Google nun nicht durcheinander kommen und eure Website womöglich doppelt indizieren, solltest du Besucher und Suchmaschinen auf die HTTPS-Version weiterleiten.

Hier die Anpassungen aus meiner .htaccess Datei. Ich habe sie direkt nach dem Redirect von www auf ohne www (ca. Zeile 218) eingefügt:

RewriteCond %{SERVER_PORT} 80
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

Mit diesen beiden Zeilen leite ich alle HTTP-Aufrufe (Port 80) an HTTPS weiter. Je nach Server- und Domaineinstellungen können die Anweisungen anders aussehen (siehe Eintrag im Forum).

Sitemap mit HTTPS anlegen

Zu guter Letzt solltest du im Startpunkt der Website noch den Haken setzen bei „HTTPS in Sitemaps“. Dadurch machst du es Suchmaschinen noch einfacher, zu erkennen, dass eure Website über HTTPS erreichbar ist und in den Suchergebnissen auch so direkt angezeigt werden sollte.

Fazit

Das Schwierigste ist und bleibt die Einrichtung von SSL/TLS-Zertifikaten. Anbieter wie uberspace machen es Entwicklern zwar schon besonders einfach, aber für Personen, die das Terminal scheuen, bleibt aktuell nur der Anruf beim Kundensupport und die Hoffnung, dass dieser Let's Encrypt unterstützt.

Die Einrichtung von Contao für HTTPS-Verbindungen ist hingegen vergleichsweise einfach.

Wenn du mehr darüber erfahren möchtest, wie du die Sicherheit einer Contao Website erhöhen kannst, dann lade dir jetzt unsere kostenlose Checkliste herunter.

Zurück

Einen Kommentar schreiben

Kommentar von Christian |

Danke, sehr guter Artikel.
Zum Glück übernehmen viele Hoster das einbinden des SSL-Zertifikats.

Viele Grüße
Christian

Antwort von Dennis

Solange du das SSL-Zertifikat bei Ihnen kaufst, ja ;-)

Kommentar von Bjarke |

Bei cyon kann das Let's Encrypt-Zertifikat per Knopfdruck aktiviert werden.
https://www.cyon.ch/ssl/

Antwort von Dennis

Sehr cool! Hoffentlich machen es die anderen Anbieter Cyon bald nach.

Kommentar von Sabine |

Sehr guter Artikel. Wie wird es gelöst wenn jemand https://www.erdmann-freunde.de/ eingibt?

Antwort von Dennis

Moin Sabine,

oh, da hast du mich auf einen Fall aufmerksam gemacht, den ich noch gar nicht auf dem Schirm hatte. Da ich als Standard „ohne www“ verwende habe ich jetzt noch eine Weiterleitung für „https mit www“ auf „https ohne www“ angelegt:

  RewriteCond %{HTTPS_HOST} ^www\.erdmann-freunde\.de$ [NC]
  RewriteRule (.*) https://erdmann-freunde.de/$1 [R=301,L]

Kommentar von Sabine |

Merci! Viele Grüße

Kommentar von Marcel |

Wie immer: Danke für die schöne und kompetente Zusammenfassung!

Auf meinem Webspace bei Novatrend.ch lässt sich das Let's Encrypt-Zertifikat ebenfalls per Knopfdruck einfach im cPanel einrichten oder wieder entfernen.

Antwort von Dennis

Moin Marcel,

sieht so aus, als hätten die Schweizer den Deutschen da etwas voraus ;-)

Grüße,
Dennis

Kommentar von Sascha Müller |

Moin Dennis,
hab die Umstellung gestern mal bei netcup getestet.
Die Einrichtung läßt sich mit einem klick anstoßen und ist nach ca. 1min. einsatzbereit.
Danach noch Contao und htaccess anpassen, schon ist die Umstellung fertig.
Gruß,
Sascha

Kommentar von Sebastian von Wäscherei-Suche |

Hosteurope hat bei den etwas größeren Paketen meist ein kostenloses Zertifikat umsonst. Die Einrichtung ist selber über Plesk oder über den Support möglich.

Ich habe www.waescherei-suche.de auch vor ein paar Wochen auf SSL umgestellt und das ganze war relativ problemlos. Wir leiten allerdings erst alle Anfragen auf SSL um, dann erst auf die entsprechende Domain / Endung etc.

Kommentar von Andreas |

Die Umstellung für unsere Website https://www.praxislenz.de auf Hostingwerk brauchte nur 3 Klicks und war in 1 Minute erledigt: Ich kann somit Hostingwerk nur empfehlen - alles war mit Letsencrypt voreingestellt und automatisiert.

Kommentar von Stefan SL |

Schöne Anleitung, allerdings ist mir noch aufgefallen, dass die RSS-Feeds fehlen. Unter Nachrichten -> RSS Feeds -> Feed bearbeiten sollte noch die Basis-URL angepasst werden

Antwort von Dennis

Vollkommen richtig. Danke!

Kommentar von Nicole Weiß |

Kleines Update zu All-Inkl.Com: Geht jetzt auch hier ganz bequem über einen Klick. Gerade mit deiner Anleitung meine Seite umgestellt. Vielen Dank! :o)

Kommentar von Schlösser |

Gut gemachte Anleitung, hilft vielen weiter

Danke

Kommentar von Wolke |

Sehr gute Blog Internetseite wie ich sehe. Toll, gefällt mir!
Auch die Farben

Kommentar von Patrick |

Danke für den tollen Artikel Dennis, der Schweizer Hoster Hostpoint hat ebenfalls ein freeSSL-Zertifikat auf Knopfdruck und ausserdem den Zusatz, dass (mit angewähltem Häckchen) alle Umleitung auf "https://" gehen.

Habs eben mit deiner Anleitung umgestellt.
Merci und Grüsse aus der CH // Patrick

Kommentar von Uwe |

Falls Ihr das kostenlose Zertifikat von Let's encrypt benutzt, beachtet bitte, dass es alle 90 Tage erneuert werden muss. Im besten Falle erledigt das der Hoster per Script. Wenn man es allerdings von Hand eingebunden hat so wie ich bei Host Europe, dann sollte man sich eventuell eine Erinnerung im Kalender einstellen.

Antwort von Dennis

Moin Uwe,

vielen Dank für den Tipp. Sieht man im Moment leider sehr häufig, dass Seiten zeitweise nicht über SSL erreichbar sind.. Habe mich immer gewundert warum. Aber wenn Hoster keine automatischer Verlängerung anbieten, erklärt das einiges.

Kommentar von Daniel |

Der Tipp hat bei mir auf der Seite super funtioniert. Vielen Dank für den Beitrag.

Kommentar von DanDo |

Super Anleitung, genau was ich gesucht habe. Stell meine Website jetzt auf SSL um.

Kommentar von Basti Buck |

Moin Dennis,

gibt es bei deiner Vorgehensweise Probleme bei der lokalen Entwicklung? Ich habe für ein aktuelles Projekt noch weitere Anweisungen hinzugefügt, damit ich lokal keine Probleme bekomme.

RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} !=localhost
RewriteCond %{HTTP_HOST} !=127.0.0.1
RewriteCond %{REMOTE_ADDR} !=127.0.0.1
RewriteCond %{REMOTE_ADDR} !=::1
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Die Anweisungen hatte ich in einer Internetquelle gefunden, aber auch nicht ohne diese mittleren vier Zeilen getestet. Wäre interessant, ob deine Anweisungen schon ausreichen.

Antwort von Dennis

Hey Basti,

ja, die erwähnten Beispiele beziehen sich auf den Live-Serverbetrieb. Für die lokale Entwicklung werden meine 2 Zeilen nicht reichen, da alles, was über Port 80 geht, in meinem Beispiel weitergeleitet wird.

Da sind deine Ausnahmen schon wichtig (auch wenn man wahrscheinlich auch nicht alle braucht).

Kommentar von RonaldMcDonald |

Habe bei all-inkl das Let's encrypt Zertifikat eingerichtet. Es geht dort wirklich ganz unkompliziert. In der Konfiguration habe ich die Möglichkeit des "https erzwingen" genutzt. Meine Fragen:

  1. Wären die Umleitungen (händisch eingetragen) in der htaccess besser aufgehoben?
  2. Habe die xml (Sitemap für Google) durch Contao neu schreiben lassen, jedoch erscheint dort nur http in den Verweisen. Ist das zu vernachlässigen, weil ja sowieso alle Anfragen auf https geleitet werden?

Danke und LG

Antwort von Dennis

Moin R.,

  1. nein, das kannst du ruhig bei all-inkl machen. Einige Hoster bieten diese Funktion allerdings nicht an
  2. in Startpunkt musst du noch die Einstellung https für Sitemaps aktivieren und die Sitemap dann über die Systemwartung neu erstellen

Viele Grüße,
Dennis

Kommentar von RonaldMcDonald |

Moinsen Dennis,
ja, jetzt funktioniert es. Danke Dir ... schönes WE

Kommentar von Michael Polixmair |

danke, sehr guter Bericht um Websites in Contao für HTTPS einzurichten, und die Tipps für SEOs, allgemein informative Tipps, herzliche Grüße aus Salzburg, Michael Polixmair

Was ist die Summe aus 9 und 9?

Immer auf dem Laufenden bleiben

Für den Newsletter anmelden

Der Newsletter erscheint 1x im Monat