Auf dieser Seite finden Sie Beispiele und Tipps zur Verwendung von Buckets für das Hosten einer statischen Website.
Spezialseiten
Indexseiten
Eine Indexseite (auch als Webserververzeichnisindex bezeichnet) ist eine Datei, die Besuchern bereitgestellt wird, wenn diese eine URL ohne zugehörige Datei anfordern. Wenn Sie das Attribut MainPageSuffix
zuweisen, sucht Cloud Storage nach einer Datei mit diesem Namen, deren Präfix der vom Besucher angeforderten URL entspricht.
Beispiel: Sie legen das MainPageSuffix
Ihrer statischen Website auf index.html
fest. Außerdem ist in Ihrem Bucket www.example.com
keine Datei mit dem Namen directory
vorhanden. Wenn ein Nutzer in dieser Situation die URL http://www.example.com/directory
anfordert, versucht Cloud Storage, die Datei www.example.com/directory/index.html
bereitzustellen. Ist diese Datei ebenfalls nicht vorhanden, gibt Cloud Storage eine Fehlerseite zurück.
Das MainPageSuffix
steuert auch die Datei, die bereitgestellt wird, wenn Nutzer die Top-Level-Website anfordern. Wenn das oben genannte Beispiel weitergeführt wird und ein Nutzer http://www.example.com
anfordert, versucht Cloud Storage, die Datei www.example.com/index.html
bereitzustellen.
Wenn Sie versuchen, auf eine URL mit einem abschließenden Schrägstrich wie http://www.example.com/dir/
zuzugreifen, lesen Sie die Informationen unter Fehlerbehebung.
Fehlerseite
Die Fehlerseite ist die Datei, die an Besucher Ihrer statischen Website zurückgegeben wird, die eine URL anfordern, die keiner vorhandenen Datei entspricht. Wenn Sie ein MainPageSuffix
zugewiesen haben, gibt Cloud Storage die Fehlerseite nur dann zurück, wenn weder eine Datei mit dem angeforderten Namen noch eine anwendbare Indexseite vorhanden ist.
Wenn eine Fehlerseite zurückgegeben wird, lautet der HTTP-Antwortcode 404
. Das Attribut, das steuert, welche Datei als Fehlerseite dient, ist NotFoundPage
. Wenn Sie NotFoundPage
nicht festlegen, erhalten Nutzer eine generische Fehlerseite.
Website-Konfigurationsbeispiele
Bucket mit drei Objekten
Beispiel: Ein Bucket mit dem Namen www.example.com
wurde als Website mit den folgenden Einstellungen und Dateien konfiguriert:
MainPageSuffix
= "index.html"NotFoundPage
= "404.html"- Der Bucket enthält drei öffentlich freigegebene Objekte: "index.html", "404.html" und "dir/index.html".
Die folgende Tabelle zeigt den bereitgestellten Inhalt für ausgewählte URLs:
Angeforderte URL | Bereitgestellter Inhalt | HTTP-Antwortcode |
---|---|---|
http://www.example.com http://www.example.com/ http://www.example.com/index.html |
Das Objekt "index.html" | 200 |
http://www.example.com/hello | Das Objekt "404.html" | 404 |
http://www.example.com/dir/index.html | Das Objekt "dir/index.html" | 200 |
http://www.example.com/dir | Das Objekt "dir/index.html" | 301 |
http://www.example.com/dir/ | Das Objekt "dir/index.html", unter der Annahme, dass kein Objekt mit null Byte für /dir/ vorhanden ist. | 200 |
Ein leeres Objekt mit null Byte, wenn es für /dir/ vorhanden ist. Informationen zum Entfernen dieses Null-Byte-Objekts finden Sie im Abschnitt zur Fehlerbehebung. | 301 |
Bucket mit zwei Objekten
Beispiel: Ein Bucket mit dem Namen www.example.com
wurde als Website mit den folgenden Einstellungen und Dateien konfiguriert:
MainPageSuffix
= "main.html"NotFoundPage
= "404.html"- Der Bucket enthält zwei öffentlich freigegebene Objekte: "main.html" und "404.html".
Die folgende Tabelle zeigt den bereitgestellten Inhalt für ausgewählte URLs:
Angeforderte URL | Bereitgestellter Inhalt | HTTP-Antwortcode |
---|---|---|
http://www.example.com http://www.example.com/ |
Das Objekt "main.html" | 200 |
http://www.example.com/index.html | Das Objekt "404.html" | 404 |
Wenn ein Objekt öffentlich freigegeben ist, können Sie es auch über folgende URL anzeigen:
http://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME
Die URL für ein index.html
-Objekt wäre beispielsweise:
http://storage.googleapis.com/www.example.com/index.html
Weitere Informationen zum Arbeiten mit öffentlich freigegebenen Daten finden Sie unter Auf öffentliche Daten zugreifen.
Tipps für die Arbeit mit einem als Website konfigurierten Bucket
Beachten Sie die folgenden Tipps, wenn Sie einen Bucket verwenden, um eine statische Website zu hosten.
Subdomains hinzufügen
Angenommen, Sie möchten auch Inhalte unter test.example.com
aus einem anderen Bucket als dem bereitstellen, der Inhalt unter www.example.com
bereitstellt. Anleitung:
Erstellen Sie einen neuen Bucket, um Ihre zusätzlichen Inhalte bereitzustellen.
Wenn Sie Ihre Inhalte gemäß der Anleitung unter Statische Website hosten über HTTPS bereitgestellt haben, bearbeiten Sie in der Google Cloud Console den Load-Balancer so:
- Erstellen Sie für die Backend-Konfiguration einen neuen Backend-Bucket
test-bucket
. Wählen Sie dazu den neuen Bucket aus, den Sie erstellt haben. - Fügen Sie unter Host- und Pfadregeln eine neue Regel hinzu:
Hosts Paths Backends test.example.com /* test-bucket
Fügen Sie für die Frontend-Konfiguration eine neue Frontend-IP-Adresse und einen neuen Frontend-Port hinzu, die dieselben Werte wie in der ersten Konfiguration haben, mit folgenden Ausnahmen:
- Erstellen und reservieren Sie für IP-Adresse eine neue IP-Adresse.
- Erstellen Sie unter Zertifikat ein neues SSL-Zertifikat für
test.example.com
.
- Erstellen Sie für die Backend-Konfiguration einen neuen Backend-Bucket
Nachdem Sie den Load-Balancer aktualisiert haben, fügen Sie Ihrem Domainregistrierungsdienst einen neuen
A
-Eintrag hinzu. Verwenden Sie dazu die IP-Adresse der neuen Frontend-Konfiguration:NAME TYPE DATA test A IP_ADDRESS
API-Verhalten
Die Websitekonfigurationen MainPageSuffix
und NotFoundPage
werden nur für Anfragen an Cloud Storage über eine CNAME
- oder A
-Weiterleitung verwendet. Eine Anfrage an www.example.com
zeigt beispielsweise die Indexseite, eine entsprechende Anfrage an storage.googleapis.com/www.example.com
jedoch nicht.
Deshalb ändert sich das API-Verhalten bei Anfragen an Cloud Storage-Domains wie storage.googleapis.com/www.example.com
nicht. So können Sie beispielsweise weiter Objekte im Bucket www.example.com
auflisten wie bei jedem anderen Bucket auch. Im Fall des Buckets www.example.com
erhalten Sie eine Objektliste, in der 404.html
und index.html
enthalten sind.
Statische Inhalte für eine dynamische Website hosten
Sie können Cloud Storage verwenden, um statische Inhalte für eine dynamische Website zu hosten, die z. B. in Google App Engine oder in Google Compute Engine gehostet wird. Das Hosten von statischen Inhalten wie Bildern oder JavaScript-Dateien in einem Bucket bietet unter anderem folgende Vorteile:
Cloud Storage verhält sich wie ein Content Delivery Network (CDN), da öffentlich lesbare Objekte standardmäßig im Cloud Storage-Netzwerk zwischengespeichert werden.
Die Bandbreitengebühren für den Zugriff auf Inhalte sind mit Cloud Storage in der Regel niedriger.
Durch die Bereitstellung der statischen Inhalte über Cloud Storage wird die Auslastung Ihres Webservers verringert.
Wenn Sie statische Assets für eine dynamische Website hosten, müssen Sie keine DNS-Einträge erstellen und nicht wie bei einer statischen Website auf einen Bucket oder Load-Balancer verweisen. Sie können beispielsweise einen Bucket mit dem Namen www_example_com_assets
haben und die darin enthaltenen entsprechenden Assets als öffentlich freigegeben konfigurieren. Danach können Sie über die Cloud Storage-Domain auf diese Assets zugreifen.
Angenommen, die JavaScript-Datei library.js
im Bucket www_example_com_assets
ist öffentlich freigegeben. Sie können sie dann als http://storage.googleapis.com/www_example_com_assets/library.js
aufrufen.
Cacheparameter festlegen
Sie können steuern, wie oder ob die Inhalte Ihrer Website im Cache gespeichert werden, indem Sie die Cache-Control
-Metadaten konfigurieren. In der Regel sollten Sie Cachesteuerungs-Metadaten nur für Objekte festlegen, die für alle anonymen Nutzer zugänglich sind – eine Voraussetzung für jedes Objekt, das als Teil einer statischen Website aus einem Cloud Storage-Bucket bereitgestellt wird.
Cloud Storage wendet auf Objekte, die für alle anonymen Nutzer zugänglich sind, eine Cachesteuerungseinstellung von 3.600 Sekunden an, sofern Sie keine eigenen Einstellungen festlegen. Eine Anleitung zum Festlegen von Objektmetadaten wie Cache-Control
finden Sie unter Metadaten anzeigen und bearbeiten.
Sie können über Cloud CDN auch HTTP(S)-Inhalte mit Load-Balancing in der Nähe Ihrer Nutzer zwischenspeichern. Dadurch werden oft die Bereitstellungskosten gesenkt. Weitere Informationen finden Sie unter Caching.
Kosten im Auge behalten
Wenn Sie zur Bereitstellung von Inhalten einen als statische Website konfigurierten Bucket verwenden oder einen Bucket verwenden, um statische Inhalte für eine außerhalb von Cloud Storage gehostete dynamische Website bereitzustellen, sollten Sie die Kosten im Auge behalten, die für das Projekt anfallen, das den Bucket enthält. Die Bereitstellung von Inhalten verursacht Cloud-Storage-Kosten für das Speichern des Inhalts, die Verwendung des Netzwerks und das Ausführen von Abrufvorgängen. Weitere Informationen finden Sie auf der Seite Google Cloud Storage – Preise.
Wenn Sie HTTPS mit einem externen Anwendungs-Load-Balancer einrichten, können Netzwerkgebühren anfallen. Weitere Informationen finden Sie unter Netzwerkpreise.
Das einfache Preisbeispiel in der Preisbeispielübersicht kann als Annäherung für den Anwendungsfall einer statischen Website mit geringem Traffic verwendet werden. Beachten Sie jedoch, dass in diesem Beispiel keine Gebühren für den externen Anwendungs-Load-Balancer berücksichtigt werden, was oft die höchste Gebühr für statisches Website-Hosting ist. Mit dem Preisrechner können Sie ihre voraussichtlichen Kosten kalkulieren.
Wenn Sie bereits Cloud Platform-Nutzer sind, können Sie auf der Abrechnungsseite eine detaillierte Übersicht Ihrer Projektkosten aufrufen.
Fehlerbehebung
Informationen zu häufigen Problemen bei der Verwendung eines Buckets, der zum Bereitstellen von Inhalten statischer Websites konfiguriert ist, finden Sie unter Fehlerbehebung.
Nächste Schritte
Überzeugen Sie sich selbst
Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit von Cloud Storage in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
Cloud Storage kostenlos testen