Beispiele und Tipps für statische Websites

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:

  1. Erstellen Sie einen neuen Bucket, um Ihre zusätzlichen Inhalte bereitzustellen.

  2. 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:

    1. 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.
    2. Fügen Sie unter Host- und Pfadregeln eine neue Regel hinzu:
      Hosts                  Paths     Backends
      test.example.com       /*        test-bucket
      
    3. 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.
  3. 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.

Neuen Google Cloud-Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

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

Jetzt testen

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