Zuletzt aktualisiert am 6. März 2020 von Birk Karsten Ecke
Cloudflare ist ein populäres Content Delivery Network – kurz CDN. Es dient dazu, die Ladezeiten einer Domain bei weit entfernten Clients zu reduzieren. Gleichzeitig verringert es durch Caching die Datentransferrate und sichert die Domain gegen unerwünschte Bots und DDoS Attacken ab. Cloudflare schaltet sich, wenn es aktiviert ist, vereinfacht gesagt zwischen den Client und den Webserver. Im Moment nutzen etwa 10 Millionen WordPress Installationen Cloudflare. Damit das Zusammenspiel zwischen WordPress und Cloudflare problemlos läuft, müssen ein paar Einstellungen manuell in Cloudflare erstellt werden.
Die prinzipielle Aktivierung von Cloudflare im Zusammenhang mit WordPress ist in diversen Blogs und auch auf der Website von Cloudflare beschrieben. Deshalb wird an dieser Stelle nicht explizit darauf eingegangen. Es werden daher nur spezifische Page Rules – also Seiteregeln – vorgestellt, die für einen reibungslosen Betrieb von WordPress mit Cloudflare erforderlich sind. Zusätzlich sollten Sie das WordPress Plugin “Cloudflare” installieren, falls das noch nicht geschehen ist.
Das Eintragen der Page Rules ist deshalb wichtig, weil alle Anfragen an die Domain über die Server von Cloudflare laufen, also auch alle Anfragen der in WordPress angemeldeten Benutzer. Wenn die Page Rules nicht richtig sind, werden neue Beiträge wegen des Caches von Cloudflare nicht richtig und nicht vollständig in die SQL Datenbank von WordPress eingetragen. Es ist wichtig, die Page Rules in der richtigen Reihenfolge einzutragen. Der oberste Eintrag ist die Regel, alle weiteren sind die Ausnahme. Die Reihenfolge der Page Rules kann per Drag und Drop nachträglichverändert werden.
Voraussetzungen:
- Ein dedizierter Server oder virtueller Server mit vollem root Zugang.
- Eine möglichst mit einem SSL Zertifikat abgesicherte Domain.
Ein SSL Zertifikat sollten Sie für Ihre Domain sowieso haben, unabhängig von Cloudflare. - Aktivierter Cloudflare Account mit einem kostenlosen Free Plan.
- Die Nameserver Ihrer Domain sind auf Cloudflare umgelegt.
Wie Sie das machen können, ist vom Webhoster abhängig. In der Regel geschieht das auf einer Konfigurationsseite, die der Webhoster zur Verfügung stellt. Bei Fragen dazu kontaktieren Sie bitte Ihren Webhoster. - Ihre Domain ist mit Cloudflare verbunden und aktiv.
Eintragen der Cloudflare IP Adressen in der Whitelist Ihres Webservers:
Nicht in der Whitelist Ihres Webservers gelistete IP Adressen des Cloudflare CDN sind die häufigste Ursache der Nichterreichbarkeit einer Domain, die mit Cloudflare gekoppelt ist. Die Whitelist und eine Anleitung zum Eintragen auf dem Webserver finden Sie hier auf der Cloudflare Support Site: https://support.cloudflare.com/hc/de/articles/201897700-Die-Cloudflare-IP-Adressen-auf-die-Whitelist-setzen. Die Whitelist finden Sie hier im Textformat: https://www.cloudflare.com/ips.
Sie müssen sich dazu über ein Terminal als root auf Ihrem Webserver einloggen:
ssh -YC ihre_ip_adresse -l root ↵
Für die IPv4 Adressen verwenden Sie folgenden Befehl:
iptables -I INPUT -p tcp -m multiport --dports http,https -s $ip -j ACCEPT
↵
Für die IPv6 Adressen verwenden Sie folgenden Befehl:
ip6tables -I INPUT -p tcp -m multiport --dports http,https -s $ip -j ACCEPT
↵
$ip muss jeweils durch die IP Adressen von Cloudflare ersetzt werden. Die IP Adressen können Sie von der Website kopieren und in den Befehl einsetzen. Wenn der Webserver unter Linux läuft, können Sie den Befehl mit der Pfeil nach oben / nach unten Taste wiederholen. Das spart eine Menge Tippen oder Copy/Paste.
Eintragen und Aktivieren der Page Rules:
- Die Einstellungen in Cloudflare können Sie wie folgt setzen.
- Loggen Sie sich in Cloudflare mit Ihrem Account ein.
https://www.cloudflare.com - Wählen Sie im Cloudflare Dashboard Ihre Domain aus.
- Die Page Rules finden Sie im Cloudflare Dashboard unter “Page Rules”.
- Sie können jetzt folgende Einträge hinzufügen, und zwar in der folgenden Reihenfolge. Die Reihenfolge ist wie oben beschrieben entscheidend für die Funktionalität des WordPress Admin Bereiches! Die Reihenfolge der Einträge innerhalb einer Page Rule sortiert Cloudflare, sie ist nicht beeinflussbar. Alle Werte sind jederzeit nachträglich änderbar.
- Absichern und Ausschließen des Admin Bereiches (Backend) von WordPress vom Cloudflare Cache.
Es empfiehlt sich mit Wildcards (*) zu arbeiten. Die Einstellungen gelten dann für mehrere Optionen, z.B. www.ihre-domain.de oder ihre-domain.com oder …- Page Rule “*ihre_domain.endung/wp-*”
Hier müssen Sie Ihre Domain eintragen, ohne führendes “www”. Das erledigt die Wildcard (*). Den “/wp-*” Pfad müssen Sie gegebenenfalls an Ihre WordPress Installation anpassen. Das sehen Sie beim Aufruf Ihres WordPress Backend in einem Webbrowser. - Security Level ⇒ High
- Cache Level ⇒ Bypass
- Disable Apps
- Disable Performance
- Page Rule “*ihre_domain.endung/wp-*”
- Absichern und Ausschließen des Admin Bereiches (Backend) von WordPress vom Cloudflare Cache.
-
-
- Speichern und der erste Eintrag ist fertig.
- Eintragen des Caches für alle anderen Seiten. Das sind die Seiten, die nicht angemeldete Benutzer, also normale Benutzer der Website, zu Gesicht bekommen. Diese Seiten sollen in den Cache des Cloudflare CDN aufgenommen werden.
- Page Rule “*ihre_domain.endung/*”
Hier müssen Sie Ihre Domain eintragen, ohne führendes “www”. Das erledigt die Wildcard (*). Den “/*” Pfad müssen Sie gegebenenfalls an Ihre WordPress Installation anpassen. Das sehen Sie beim Aufruf Ihrer Domain in einem Webbrowser. - Rocket Loader ⇒ On
Priorisiert den Inhalt der Website und sorgt bei Websites, die JavaScript verwenden, für kürzere Ladezeiten. - Browser Cache TTL ⇒ 30 minutes
Die Zeit, in der Seiten auf dem Client direkt aus dem Cache des Webbrowser geladen werden. 30 Minuten ist das im Free Plan von Cloudflare einstellbare Minimum. - Cache Level ⇒ Cache Everything
Alle Inhalte der Domain werden von Cloudflare in den Servercache übernommen, soweit unterstützt und sinnvoll. Das entscheidet am Ende Cloudflare über seine Algorithmen. - Edge Cache TTL ⇒ 2 hours
Die Zeit, nach der der Cache von Cloudflare bei Bedarf erneuert wird. 2 Stunden sind das Minimum, das im Free Plan von Cloudflare einstellbar ist. Sie können auch höhere Werte einstellen, wenn Sie Website nicht so häufig aktualisieren. - Automatic HTTPS Rewrites ⇒ On
Egal, was in der Adressleiste des Webbrowsers eingegeben oder über eine Suchmaschine gefunden wird, es wird immer die SSL verschlüsselte Version Ihrer Domain geladen.
- Page Rule “*ihre_domain.endung/*”
-
-
-
- Speichern und der zweite Eintrag ist fertig.
-
- Kontrollieren Sie die Reihenfolge der Page Rules.
Die Page Rule “*ihre_domain.endung/wp-*” muss der erste Eintrag sein.
Page Rule “*ihre_domain.endung/*” muss der zweite Eintrag sein.
Falls das nicht so ist, ändern Sie die Reihenfolge per Drag and Drop.
- Testen Sie anhand Ihrer Domain, dass die Einstellungen richtig funktionieren und Ihre Website erreichbar ist.
- Kontrollieren Sie mit redbot.org, dass Ihre Domain über Cloudflare gecached wird und der Admin Bereich von WordPress sicher vom Caching ausgeschlossen ist.
“CF-Cache-Status: HIT”.
“x-HTML-Edge-Cache: cache,bypass-cookies=wp-|wordpress|comment_|woocommerce_”
Anmerkung: Sollten Sie den Cloudflare Cache geleert haben, kann es ein paar Minuten dauern, bis Cloudflare den Cache erneuert hat. Während dieser Zeit kann “CF-Cache-Status: MISS” oder “CF-Cache-Status: EXPIRED” angezeigt werden. Prüfen Sie Ihre Domain nach ein paar Minuten erneut mit REDbot.
Fazit:
Wunder kann die Kombination von WordPress und Cloudflare auch nicht erzwingen, aber es gibt Vorteile, die nicht von der Hand zu weisen sind:
- Die Bereitstellung des Content der Domain geht bei großen Entfernungen zwischen Client und Webserver über die schnellen Datenanbindungen der Rechenzentren untereinander schneller als über eine direkte Verbindung des Client zum Webservers.
- Die Domain ist gegen DDoS Attacken bestmöglich abgesichert.
- Die Domain ist gegen böswillige Bots und Malware bestmöglich abgesichert.
- Die Domain ist gegen SQL Injektionen bestmöglich bgesichert.
- Die IP-Adresse Ihrer Domain wird verschleiert.
Es wird eine IP-Adresse aus dem Cloudflare Pool verwendet und ausgegeben.
Interne Links:
Software: Ein Serversetup mit WordPress und Cache sowie Content Delivery Network CDN Cloudflare im Geschwindigkeitstest
Software: Ein paar gute Gründe für die Koppelung einer WordPress Website mit dem Content Delivery Network CDN Cloudflare
Externe Links:
Cloudflare – Accelerate Your Website with One Click
https://www.cloudflare.com
Cloudflare Support Site – Die Cloudflare-IP-Adressen auf die Whitelist setzen
https://support.cloudflare.com/hc/de/articles/201897700-Die-Cloudflare-IP-Adressen-auf-die-Whitelist-setzen
WordPress – Cloudflare Plugin
https://de.wordpress.org/plugins/cloudflare
REDbot
https://redbot.org