tas2580
Blog über Webentwicklung

HTTPS für das phpBB Forum mit CloudFlare

HTTPS (HyperText Transfer Protocol Secure) dient dazu die Kommunikation zwischen Webseite und Besucher zu verschlüsseln so, dass übertragene Daten nicht von Leuten mit Zugriff auf das Netz zwischen Webserver und Besucher haben mitgelesen werden können. Gerade in offenen WLANs ist das ein großes Problem. Wenn die Verbindung nicht verschlüsselt ist wird das Passwort bei jeder Anmeldung am Forum in Klartext übertragen.

Damit man HTTPS nutzen kann benötigt man ein SSL Zertifikat das auf dem Webserver installiert werden muss. Das Zertifikat muss von einer anerkannten Stelle ausgestellt werden da der Browser sonst eine Warnung ausgibt wenn man das Forum besucht. Wer einen eigenen Webserver mit Root Zugriff betreibt kann sich ein solches Zertifikat ausstellen lassen und installieren, weitere Informationen dazu gibt es hier. Wer sein phpBB Forum auf normalem Webspace betreibt hat aber trotzdem die Möglichkeit kostenlos HTTPS für sein Forum zu verwenden. Dazu muss man den Umweg über den CDN Provider CloudFlare.com gehen.

Domain bei CloudFlare eintragen

Als erstes muss man sich bei CloudFlare.com einen kostenlosen Account anlegen. Bei CloudFlare handelt es sich um ein Content Delivery Network das mehrere Server auf der ganzen Welt verteilt betreibt. Über diese Server wird der Content nun verteilt ausgeliefert, dabei werden die Seiten vom original Server geholt und falls möglich gecached. Das Forum ist damit also meistens deutlich schneller erreichbar wie über den Server vom Webhoster da zumindest statische Ressourcen wie Bilder, CSS und JavaScript Dateien sehr gut gecached werden können. So wird der Webserver auf dem das Forum liegt gleichzeitig entlastet und es wird Trafic eingespart. Dynamische Ressourcen können nicht gecached werden und müssen jedes mal vom original Webserver abgerufen werden da sie sich ja praktisch mit jeden Seitenaufruf ändern.

Um das CloudFlare CDN zu nutzen muss man seine Domain auf die DNS Server von CloudFlare umstellen, die Umstellung dauert einige Zeit, dabei bleibt die Domain allerdings die ganze Zeit erreichbar. Nachdem man sich bei CloudFlare angemeldet hat landet man direkt bei einem Formular in das man seine URL eintragen kann, hier trägt man einfach seine Domain ohne "http://" ein und klickt auf den Button "Scan DNS Records". Jetzt werden die bisherigen DNS Einstellungen der Domain überprüft, solange kann man sich ein Video anschauen das einem erklärt wie CloudFlare funktioniert. Der Scan kann einige Zeit dauern, wenn der Scan abgeschlossen ist kann man mit einem Klick auf "Continue" fortfahren.

Im nächsten Schritt werden alle bisherigen DNS Einstellungen der Domain aufgelistet, im Normalfall muss man hier nichts ändern. Hier sollte mindestens ein Eintrag für die Domain selber und einer für "www" als "A-Record" angezeigt werden. Oft gibt es dazu noch einen oder mehrere "MX-Records" wenn man E-Mail über die Domain betreibt. Mit einem Klick auf die Wolke unter "Status" kann man einstellen ob man für den jeweiligen DNS Eintrag in Zukunft CloudFlare nutzen möchte oder nicht. Am besten sorgt man dafür das hier alle Einträge über CloudFlare laufen für die man später HTTPS nutzen möchte, die Wolke muss also orange sein und der Pfeil muss waagrecht durch gehen. Wenn man möchte kann man hier auch noch weitere DNS Einträge anlegen. Sollten alle Einstellungen passen kann man mit einem Klick auf den Button "Continue" mit dem nächsten Schritt fortfahren.

Jetzt muss man den Tarif den man nutzen möchte auswählen, die Vorauswahl steht hier auf "Business Website". Hier muss man etwas nach oben scrollen und kann dann dort den kostenlosen Tarif "Free Website" auswählen. Wenn man einfach nur HTTPS haben möchte reicht das völlig aus, ein paar CDN Features gibt es damit auch noch dazu. Die anderen Optionen sind eher für sehr große Webseiten die sehr viel Content auf die ganze Welt verteilen möchten. Für ein normales Forum, auch wenn es etwas größer ist benötigt man das alles aber nicht. Wer möchte kann natürlich später immer noch seinen Tarif wechseln.

Nachdem man seinen Tarif ausgewählt hat bekommt man zwei Nameserver angezeigt die man sich notieren muss. Bei CloudFlare ist man dann vorerst fertig. Mit den Nameservern geht es nun weiter mit den Einstellungen bei dem Anbieter über den man seine Domain registriert hat.

Nameserver wechseln

Damit die Domain in Zukunft die Nameserver von CloudFlare verwendet und man HTTPS für die Domain nutzen kann muss man die Nameserver Einstellungen für die Domain ändern. Je nach Anbieter unterscheidet sich dieser Schritt ein wenig. Bei den meisten Anbietern gibt es im Webinterface über das man seinen Webspace verwaltet einen Menupunkt unter dem man die Einstellungen zu seiner Domain ändern kann. Hier muss man nun suchen wo man die Nameserver für die Domain festlegen kann um dort die Nameserver einzutragen die man von CloudFlare bekommen hat. Sollte man die Einstellungen für die Nameserver nicht finden kontaktiert man am besten den Support und fragt dort nach. Hier mal Links zu Anleitungen bei den gängigsten Anbietern:

  • 1&1
    Wie man bei 1&1 die Nameserver seiner Domain ändert wird hier beschrieben.
  • Hosteurope
    Wie man bei Hosteurope die Nameserver seiner Domain ändert wird hier beschrieben.
  • all-inkl.com
    Bei all-inkl.com kann man die Nameserver für seine Domain nicht selber ändern, um die Nameserver zu ändern muss man sich an den Support wenden.
  • Starto
    Bei Strato ist es nicht möglich CloudFlare zu nutzen da man die DNS Einstellungen nur für Sub-Domains ändern kann und auch die dann nicht mehr mit dem geänderten DNS auf den Webspace aufschalten kann.

Bis die Änderung der Nameserver übernommen wurde kann es bis zu 48 Stunden dauern, oft geht es aber deutlich schneller und die Änderung wird schon nach wenigen Stunden aktiv. Sobald die Domain über die Nameserver von CloudFlare läuft kann man das Forum mit HTTPS aufrufen.

Wenn man später mal nicht mehr CloudFlare nutzen möchte muss man diesen Schritt einfach wieder rückgängig machen und wieder die Nameserver seines Providers für die Domain eintragen.

Forum anpassen

Wenn sich das Forum über HTTPS aufrufen lässt kann man phpBB endgültig auf HTTPS umstellen. Die Einstellungen dafür können im Administrationsbereich des Forums bei "Server und Domain" gemacht werden.
Siehe: https-umstellen.html

Einstellungen bei CloudFlare

Wenn die Domain über CloudFlare läuft lassen sich dort einige Einstellungen machen die man beachten sollte. Wer den Tarif "Free Website" gewählt hat kann nicht auf alle Einstellungen die CloudFlare anbietet zugreifen, hat aber trotzdem einige Möglichkeiten die Auslieferung seiner Webseite zu optimieren.

Crypto

Hier werden die Einstellungen zur Verschlüsselung, also zu HTTPS gemacht. Im oberen Punkt "SSL (with SPDY)" sollte man "Flexible" auswählen, das erlaubt es dem CDN die Webseite auch unverschlüsselt vom original Server zu holen. Das ist wichtig wenn man normalerweise kein Zertifikat für seine Domain hat. Mit "Off" wird die Verschlüsselung abgeschaltet so das die Webseite nicht mehr unter HTTPS verfügbar ist. Wenn man "Full" oder "Strict" auswählt wird auch die Verbindung zwischen CDN und original Server verschlüsselt, bei "Full" ist es egal ob das Zertifikat auf dem original Server gültig ist, bei "Strict" wird das Zertifikat geprüft.

Unter "HTTP Strict Transport Security (HSTS)" kann man einen HSTS Header setzen lassen, das weißt den Browser an die Webseite in Zukunft nur noch über HTTPS aufzurufen. Beim aktivieren des Headers kann man angeben wie lange der Header gültig sein soll, innerhalb dieser Zeit ist die Webseite dann nur über HTTPS erreichbar. Hier muss man also beachten das man seine Besucher aussperrt falls man innerhalb der eingestellten Zeit HTTPS wieder abschaltet.

Caching

Wie oben schon beschrieben Cached CloudFlare statische Ressourcen wie Bilder, CSS und JavaScript Dateien. Wenn man den Cache löschen möchte kann man das unter "Purge Cache" tun, wenn man den Button direkt anklickt kann man eine oder mehrere URLs angeben die man aus dem Cache löschen möchte, über dem Pfeil im Button lässt sich auch der komplette Cache löschen.

Beim Caching ist außerdem der Punkt "Development Mode" interessant. Wenn man den Development Mode aktiviert wird das caching für 3 Stunden abgeschaltet, das ist ganz nützlich wenn man an seiner Seite was ändern möchte. So erspart man sich bei jeder Änderung den Cache von Hand zu löschen.