Let’s Encrypt Zertifikat in HostEurope einbinden

09. Feb. 2018 // Moritz Kanzler //

In dem Artikel SSL Zertifikat von Let’s Encrypt erhalten wird die Erstellung eines Let’s Encrypt Zertifikats erklärt. In diesem Artikel soll dieses Zertifikat nun in ein Webpack von HostEurope eingebunden werden, um die Nutzung von Services über SSL bzw. HTTPS für die Besucher zu ermöglichen.

Schritt 1: Zertifikat in Webpack laden

Zunächst muss das erstellte SSL Zertifikat an HostEurope und das entsprechende Webpack hochgeladen und bekanntgemacht werden. Dazu meldet man sich wie gewöhnlich im Kundenportal (KIS) von HostEurope an und geht in die Einstellungen seines Webpacks.

Unter dem Menüpunkt Sicherheit & SSL findet sich auch SSL administrieren.

Nach einem Klick auf diesen Menüpunkt SSL administrieren, sieht man eine Auflistung aller angelegten Subdomains.

Hinweis: Bei HostEurope muss zunächst ein globales Zertifikat hinzugefügt werden. Beim ersten Upload eines Zertifikats ist es egal, ob dieses zu einer Subdomain hinzugefügt wurde oder direkt global. Wenn nur ein Zertifikat bekannt ist, gilt dieses als global. Ist allerdings ein globals Zertifikat eingerichtet, kann man zusätzlich für einzelne Subdomains auch eigene Zertifikate vergeben. Dieses Tutorial geht allerdings nur bis zur Einrichtung eines globalen Zertifikats, die Schritte sind aber immer die selben.

Wählt man nun in der (global) Zeile die Schaltfläche Hinzufügen gelangt man in einen weiteren Dialog welcher die folgenden Felder bietet:

  • Zertifikat: Hier muss die generierte Zertifikats-Datei hochgeladen werden (normalerweise durch ein —-BEGIN CERTIFCATE—- in der Datei gekennzeichnet)
  • Key: Hier muss der generierte Private Key für das generierte Zertifikat angegeben werden (die Datei beginnt normalerweise mit  —-BEGIN RSA PRIVATE KEY—-)
  • Passwort: Wurde für das Zertifikat oder den Key während der Erstellung eine zusätzliche Paraphrase gesetzt, muss diese hier angegeben werden (standardmäßig nicht gesetzt)
  • CA: Datei zur Angabe von Intermediate Zertifikaten, sogenannte Zwischenzertifikate. Diese Angabe kann auch leer gelassen werden.

Nach einem Klick auf Absenden wird das Zertifikat geprüft und eingetragen. Die Übernahme kann bis zu 48 Stunden dauern, ist aber für gewöhnlich schneller fertig. Ob die SSL Einbindung läuft kann man über einen Aufruf einer Webpräsens auf dem Webpack prüfen. Dabei stellt man (statt http://) ein https:// vor die URL. Öffnet der Browser die Seite und dabei ein grünes Schloss in der URL Leiste zeigt, hat alles geklappt!

Schritt 2: WordPress auf SSL umstellen

Grundsätzlich kann nun die Seite über den vorangestellten https:// Parameter sicher über SSL verschlüsselt erreichen. Hat man eine WordPress Instanz auf dem Webpack laufen, sollte man zusätzlich allerdings noch einige zusätzliche Einstellungen vornehmen.

WordPress-Adresse & Website-Adresse ändern

Grundsätzlich ist die URL für eine WordPress-Instanz entweder in der wp-config.php oder in den Einstellungen im Backend vermerkt. Stellt man eine vorhandene WordPress Seite auf https um, so muss man diese Basis-URL anpassen, da dort noch der http://-Präfix vermerkt ist.

Die angegebenen Adressen sind vor allem für die interne Generierung von Links und automatisch erstellten URLs wichtig. Eine Umstellung ist also notwendig, da WordPress sonst Inhalte weiter auf die unverschlüsselte Variante der Seite leitet.

Die Einstellung dazu wird im Backend unter Einstellungen -> Allgemein gemacht. Dort finden sich die Felder WordPress-Adresse (URL) und Website-Adresse (URL). Diese müssen beide um den https://-Präfix ergänzt werden. Durch einen Klick auf Speichern weiter unten werden die Änderungen übernommen.

Sind diese Felder grau unterlegt, müssen die angegebenen Änderungen in der wp-config.php direkt auf dem Server eingetragen werden.

Durch diese Anpassung werden fortan alle von WordPress generierten URLs und Links mit dem korrekten Protokoll (https) erstellt.

Automatische Weiterleitung von http zu https

Um auch gespeicherte oder vorher veröffentlichte URLs zur eigenen WordPress Instanz ab sofort automatisch über SSL ausliefern zu können, kann man die Apache-eigene Konfgurationsdatei .htaccess auf dem Server umkonfigurieren.

Diese Umkonfiguration hat den Vorteil, dass jeder Besucher, welcher über einen Link ohne vermerktes https:// oder generell ohne Protokoll-Angabe direkt zur SSL verschlüsselten Kommunikation mit der Seite kommt. Das funktioniert auch wenn er explizit ein http:// vor dem Aufruf angibt. Dadurch werden grundsätzlich erst einmal alle Kommunikationsanfragen auf verschlüsseltem Wege abgehandelt.

Achtung: Problematisch ist die Konfiguration nur dann, wenn das Zertifikat ausgelaufen ist. Der Benutzer sieht dann vor dem Aufruf der Seite einen Hinweis, welcher angibt, dass das Zertifikat abgelaufen ist, bevor er auf die eigentliche WordPress Instanz gelangt. Dennoch empfinde ich die Vorteile, gerade für schon veröffentliche „alte“ Links, deutlich überwiegender als diesen Nachteil, zumal das Zertifikat einfach verlängert werden kann. Dennoch empfiehlt es sich, direkt einen Termin einige Tage vor der 90 tägigen Ablauffrist zu stellen, um das Zertifikat schon zuvor zu verlängern.

Um die Umkonfiguration vorzunehmen, ohne die eigene htaccess Konfiguration von WordPress zu behindern, ersetzt man einfach die vorhandene .htaccess Datei auf dem Server (auf Rootlevel der WordPress Installation) durch folgendes Snippet, welches die https-Weiche in zwei Zeilen hinzufügt:

Nach dem Hochladen auf den Server führt jeglicher Aufruf der URL (mit https://, ohne Protokoll-Präfix oder selbst mit http://) zur über SSL verschlüsselten Version der WordPress-Instanz.

Fazit

Durch diese zwei einfachen Schritte konnte sowohl das erstellte, kostenfreie Zertifikat von Let’s Encrypt in ein HostEurope Webpack eingebunden werden, als auch eine mögliche installierte WordPress-Instanz auf reine SSL gestützte Kommunikation umgebaut werden. Der Einrichtungsaufwand für verschlüsselten Datenverkehr ist also deutlich geringer als es auf den ersten Blick wirkt.

Kommentare

3.Jul.2018
11:55 Uhr

Hallo Moritz,
danke für die ausführliche Anleitung und ja jetzt hat es auch bei mir funktioniert. Nochmals ganz herzlichen Dank.
Was mich jetzt noch brennend interessieren würde. Wie geht es weiter mit der Erneuerung des Zertifikates.
Das ist ja doch nach 90 Tagen notwendig.
Welche Schritte muss ich bei ZeroSSL bzw. Welche Daten muss ich dort eintragen und muss ich dann bei HostEurope die neuen Daten auch wieder eintragen?
Also Zertifikat und Key, oder?
Vielen Dank für Deine Hilfe und Antwort,
Beste Grüße aus Calau

Jörg Rothhardt

3.Aug.2018
19:23 Uhr

Hey Jörg,
vielen Dank für die lieben Worte zu meinem Beitrag.
Kurz gesagt: du brauchst zur Erneuerung des Zertifikats bei ZeroSSL deine Emailadresse (mit der du das Zertifikat das erste mal angefordert hast), deinen Account-Key (normalerweise die Datei account-key.txt) und den Domain CSR.
Danach wirst du von ZeroSSL erneut aufgefordert deine Domaininhaberschaft über das kurzfristige anlegen der geforderten Tokens im .well-known-Ordner zu beweisen und erhälst dann ein neues Domain Zertifikat (normalerweise die Datei domain-crt.txt).
Dieses Zertifikat musst du dann zusammen mit dem Domain Key (Datei: domain-key.txt) bei HostEurope genau wie beim ersten mal neu hinterlegen.

Ich veröffentliche dazu nächste Woche aber einen eigenen Artikel den ich dir hier verlinken werde!

LG Moritz

Einen Kommentar schreiben