Inhalt

Statische Webseite auf Backblaze B2 hosten mit Cloudflare Workers

Um eine statische Seite zu betreiben, braucht man heute nichtmal mehr ein Webspace oder gar VPS. Wenn man unter 100k Anfragen pro 24h bleibt und keine 10GB Speicher benötigt, ist die Seite sogar kostenfrei. Erst darüber kostet es etwas, bleibt aber im überschaubaren Ramen.

Wieso Backblaze B2

Backblaze B2 stellt eine günstige Alternative zu AWS S3 dar. Für nur 0,005 Storage und 0,01 $/GB Transfer pro Monat ist man dort wesentlich günstiger unterwegs als bei anderen S3 Diensten. Es wird sogar noch günstiger, wenn man Cloudflare und Backblaze zusammen nutzt.

So kann man ziemlich einfach ein CDN betreiben und ganz nebenbei die Transferkosten sparen. Um soetwas aufzusetzen gibt es bei Backblaze einen help Artikel, der die Einrichtung zeigt. Im Grunde braucht man dafür nur ein Public Bucket bei Backblaze B2 und eine Domain bei Cloudflare. Doch in diesem Artikel soll es nun nicht um die Erstellung eines einfachen CDN gehen, sondern um das Hosten einer statischen Seite bei Backblaze.

Stolpersteine bei B2

Leider kann man bei Backblaze nicht so einfach eine statische Seite hosten. Dort wird bei einem Ordnerpfad nicht nach einer Index-Datei gesucht und auch eine 404er Seite gibt es nicht wirklich. Um diese Probleme zu lösen, greife ich hier zu den Cloudflare Workers. Dadurch können http Anfragen geändert und bei Ordnern die index.html geladen laden werden.

Backblaze einrichten

Jetzt aber zur eigentlichen Anleitung. Zunächst erstellst du bei Backblaze ein Public Bucket

/2020/06/host-static-page-on-backblaze-with-cloudflare-workers/backblaze-b2-create-a-bucket.png

Jetzt lade am besten deine Webseitendaten hoch. Dies kannst du entweder über das Webinterface oder das Command-Line Tool machen. Anschließend solltest du über das i an einer beliebigen Datei, im Webinterface, die Details erfahren können. Dort bitte die Friendly URL ohne Pfad Anteil z.B. https://f003.backblazeb2.com/file/yourbucket kopieren. Diese benötigst du um die Daten mit dem Clouflare Worker von Backblaze zu laden.

/2020/06/host-static-page-on-backblaze-with-cloudflare-workers/backblaze-b2-file-details.png

Jetzt bist du der Einrichtung von dem Backblaze Bucket schon fertig und können mit der Einrichtung des Cloudflare Workers weitermachen.

Cloudflare einrichten

Ich gehe davon aus, dass bereits eine Domain bei Cloudflare hinterlegt wurde. Der erste Schritt ist hier zunächst einen Worker zu erstellen. Dazu musst du auf der Startseite nach dem erfolgreichen Login auf Workers klicken und dort einen Worker erstellen. Als Script verwende ich folgendes Script:

Dieses einfach rüber kopieren und ggf an die eigenen Gegebenheiten anpassen. Es muss defintiv die Variable baseURL an die Friendly-URL angepasst werden. Anschließend gibst du dem Worker oben Links noch einen verständlichen Namen und stellst ihn bereit. Nun kannst du über den Hostnamen des Workers z.B. yourworker.yourusername.workers.dev die Seite erreichen und testen.

Jetzt muss nurnoch ein DNS Eintrag mit Proxy und Worker Route angelegt werden. Für die Worker Route in der Dns Übersicht auf Worker gehen und dort über Route hinzufügen, eine Regel bauen. Als Route gibst du hier deinen eben angelegten Hostname an. Für diese Seite sähe das ungefähr so aus maltechx.de/*. Das Ziel ist dein soeben erstellter Worker.

Das waren auch schon alle Schritte, die benötigt werden um eine statische Seite bei Backblaze B2 zu hosten. Wenn du Fragen, Probleme oder Fehler gefunden hast kontaktiere mich einfach.