Mai 31, 2017

Wie ich mich auf machte um HTTPS zu aktivieren

Es war mal wieder eine dieser langweiligen Zugfahrten in die Heimat, bei denen man nicht genau weiß, was man so machen soll. Dieses Mal war es allerdings ein bisschen anders. Dieses Mal wollte ich mal eben für diesen Blog hier https aktivieren.

Warum eigentlich?

Nachdem ich in einem Workshop feststellen musste, dass https in Zukunft der Standard sein wird, wollte ich nun wissen, ob es wirklich so einfach ist, wie man hier und da erlesen kann.

Zunächst habe ich natürlich bei let's encrypt vorbeigeschaut. Kostenlose und automatisch signierte Zertifikate sind inzwischen verfügbar, also sollte es auch für meinen Hoster kein Problem darstellen, ein Zertifikat einzusetzen. Überraschender Weise gibt es bereits einen ausführlichen Beitrag darüber, wie man ein Zertifikat für eine Signierung und automatische Aktualisierung einrichtet.

Jetzt muss das nur noch auf meinem Server eingerichtet werden. Also dann, schauen wir uns mal die Schritte an. Wir brauchen zunächst ein Zertifikat für diese Domain:

  • blog.inlinestyle.de

Es soll Zertifikate regnen!

Also erstellen wir erstmal das benötigte Zertifikat und den entsprechenden Key. Uberspace macht diesen Schritt einfacher als man glauben mag. Mit dem Befehl uberspace-letsencrypt installiert man den certbot von letsencrypt und kann diesen anschließend zum erstellen von Zertifikaten nutzen.
Um ein Zertifikat für eine Domain zu erstellen reicht der Befehl letsencrypt certonly -d [DOMAIN] .
Einfacher kann man das wirklich nicht mehr machen.

Nachdem das Zertifikat erstellt ist, kann man es auch direkt aktivieren. Dafür braucht man ebenfalls nur einen einfachen uberspace--Befehl: uberspace-add-certificate -c [path-to-cert.pem] -k [path-to-privkey.pem]

Und damit ist das auch schon fertig. Nach ein paar Minuten ist das Zertifikat aktiv und die Seite kann über https sicher aufgerufen werden.

Abschließend will ich aber noch eine always-https-weiterleitung einrichten, damit ich auch wirklich immer auf dem HTTPS Protokoll lande, falls ich mich mal vertippen sollte. Oder mal wieder aus Gewohnheit das s in https nicht mittippe.

Nur noch HTTPS

Das kann man ebenfalls recht simple erreichen, in dem man das mod_rewrite Modul vom Apache zu dieser Anweisung überredet:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{ENV:HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301, L]

Abschließend muss ich sagen, dass sowohl dieser Beitrag, als auch die https Aktivierung während einer Bahnfahrt nach Kassel-Wilhelmshöhe statt fand. Das größte Problem dabei war: die Verbindung aufrecht zu erhalten. #WifiMyAssOnIce

kkthxbb