In dieser Anleitung wird beschrieben, wie Sie einen Cloud Storage-Bucket konfigurieren, um eine statische Website für eine Domain, die Ihnen gehört, zu hosten. Statische Webseiten können clientseitige Technologien wie HTML, CSS und JavaScript enthalten, jedoch keine dynamischen Inhalte wie serverseitige Skripts (z. B. PHP).
In dieser Anleitung wird beschrieben, wie Sie Inhalte über HTTP bereitstellen. Eine entsprechende Anleitung für HTTPS finden Sie unter Statische Website hosten.
Beispiele und Tipps zu statischen Webseiten, etwa zum Hosten statischer Inhalte für eine dynamische Website, finden Sie auf der Seite „Statische Website“.
Ziele
In dieser Anleitung werden Sie:- Ihre Domain mithilfe eines
CNAME
-Eintrags auf Cloud Storage ausrichten. - einen Bucket erstellen, der mit Ihrer Domain verknüpft ist.
- Dateien in Ihre Website hochladen und freigeben.
- die Website testen.
Kosten
In dieser Anleitung wird die folgende kostenpflichtige Komponente von Google Cloud verwendet:
- Cloud Storage
Informationen zu den Gebühren, die beim Hosting einer statischen Website anfallen können, finden Sie im Tipp „Speicherkosten überwachen“. Informationen zu Cloud Storage-Kosten erhalten Sie in der Preisübersicht.
Vorbereitung
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Haben oder verwalten Sie eine Domain? Wenn Sie noch keine Domain haben, können Sie eine neue registrieren. Dazu stehen Ihnen viele Dienste wie Cloud Domains zur Verfügung.
In dieser Anleitung wird die Domain
example.com
verwendet. - Sie müssen der Inhaber oder Verwalter der Domain sein, die Sie verwenden möchten. Verifizieren Sie unbedingt die Top-Level-Domain wie
example.com
und keine Subdomain wiewww.example.com
.Hinweis: Wenn Sie Inhaber der Domain sind, die Sie einem Bucket zuordnen, haben Sie diesen Schritt möglicherweise bereits in der Vergangenheit ausgeführt. Wenn Sie Ihre Domain über Cloud Domains erworben haben, erfolgt die Überprüfung automatisch.
Domain mit Cloud Storage verbinden
Erstellen Sie zum Verbinden der Domain mit Cloud Storage einen CNAME
-Eintrag über Ihren Domainregistrierungsdienst. Ein CNAME
-Eintrag ist ein DNS-Datensatztyp. Mit diesem Eintrag wird Traffic, mit dem eine URL Ihrer Domain angefordert wird, an die Ressourcen, die Sie bereitstellen möchten, weitergeleitet, in diesem Fall Objekte in Ihren Cloud Storage-Buckets.
Für www.example.com
könnte der CNAME
-Eintrag die folgenden Informationen enthalten:
NAME TYPE DATA www CNAME c.storage.googleapis.com.
Weitere Informationen zu CNAME
-Weiterleitungen finden Sie unter URI für CNAME
-Aliasing.
So stellen Sie die Verbindung Ihrer Domain mit Cloud Storage her:
Erstellen Sie einen
CNAME
-Eintrag, der aufc.storage.googleapis.com.
verweist.Ihr Domainregistrierungsdienst sollte Ihnen die Möglichkeit bieten, Ihre Domain zu verwalten und unter anderem auch einen
CNAME
-Eintrag hinzuzufügen. Wenn Sie beispielsweise Cloud DNS verwenden, beachten Sie die Anleitung zum Hinzufügen von Ressourceneinträgen auf der Seite Einträge hinzufügen, ändern und löschen.
Bucket erstellen
Erstellen Sie einen Bucket, dessen Name mit dem CNAME
übereinstimmt, den Sie für Ihre Domain erstellt haben.
Wenn Sie beispielsweise einen CNAME
-Datensatz hinzugefügt haben, der von der Subdomain www
von example.com
auf c.storage.googleapis.com.
verweist, würde der Google Cloud CLI-Befehl zum Erstellen eines Buckets mit dem Namen www.example.com
in etwa so aussehen:
gcloud storage buckets create gs://www.example.com --location=US
Eine vollständige Anleitung zum Erstellen von Buckets mit verschiedenen Tools finden Sie unter Buckets erstellen.
Dateien meiner Website hochladen
So fügen Sie Ihrem Bucket die Dateien hinzu, die auf Ihrer Website bereitgestellt werden sollen:
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie in der Liste der Buckets auf den Namen des Buckets, den Sie erstellt haben.
Klicken Sie auf dem Tab Objekte auf die Schaltfläche Dateien hochladen.
Gehen Sie im Dateidialogfeld zur gewünschten Datei und wählen Sie sie aus.
Wenn der Upload abgeschlossen ist, sollten Sie im Bucket den Dateinamen und Informationen zur Datei sehen.
Befehlszeile
Verwenden Sie den Befehl gcloud storage cp
, um Dateien in den Bucket zu kopieren.
Kopieren Sie beispielsweise die Datei index.html
aus ihrem aktuellen Speicherort Desktop
:
gcloud storage cp Desktop/index.html gs://www.example.com
Wenn der Vorgang erfolgreich ausgeführt wurde, sieht die Antwort in etwa so aus:
Completed files 1/1 | 164.3kiB/164.3kiB
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird ein einzelnes Objekt hochgeladen:
Im folgenden Beispiel werden mehrere Objekte gleichzeitig hochgeladen:
Im folgenden Beispiel werden alle Objekte mit einem gemeinsamen Präfix gleichzeitig hochgeladen:
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird ein einzelnes Objekt hochgeladen:
Im folgenden Beispiel werden mehrere Objekte gleichzeitig hochgeladen:
Im folgenden Beispiel werden alle Objekte mit einem gemeinsamen Präfix gleichzeitig hochgeladen:
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Im folgenden Beispiel wird ein einzelnes Objekt hochgeladen:
Im folgenden Beispiel werden mehrere Objekte gleichzeitig hochgeladen:
Im folgenden Beispiel werden alle Objekte mit einem gemeinsamen Präfix gleichzeitig hochgeladen:
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
REST APIs
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Verwenden Sie
cURL
, um die JSON API mit einerPOST
-Objektanfrage aufzurufen. Für die Indexseite von www.beispiel.de:curl -X POST --data-binary @index.html \ -H "Content-Type: text/html" \ -H "Authorization: $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/upload/storage/v1/b/www.example.com/o?uploadType=media&name=index.html"
XML API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Verwenden Sie
cURL
, um die XML API mit einerPUT
-Objektanfrage aufzurufen. Für die Indexseite von www.beispiel.de:curl -X PUT --data-binary @index.html \ -H "Authorization: $(gcloud auth print-access-token)" \ -H "Content-Type: text/html" \ "https://storage.googleapis.com/www.example.com/index.html"
Dateien freigeben
So machen Sie alle Objekte in einem Bucket für alle Nutzer im öffentlichen Internet lesbar:
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie in der Liste der Buckets auf den Namen des Buckets, den Sie veröffentlichen möchten.
Wählen Sie oben auf der Seite den Tab Berechtigungen aus.
Wenn im Bereich Öffentlicher Zugriff Nicht öffentlich angezeigt wird, klicken Sie auf die Schaltfläche Verhinderung des öffentlichen Zugriffs entfernen und dann im angezeigten Dialogfeld auf Bestätigen.
Klicken Sie auf die Schaltfläche add_boxZugriff gewähren.
Das Dialogfeld Hauptkonten hinzufügen wird angezeigt.
Geben Sie im Feld Neue Hauptkonten
allUsers
ein.Wählen Sie im Drop-down-Menü Rolle auswählen das Untermenü Cloud Storage aus und klicken Sie auf die Option Storage-Objektbetrachter.
Klicken Sie auf Speichern.
Klicken Sie auf Öffentlichen Zugriff erlauben.
Sobald das Objekt öffentlich freigegeben ist, wird in der Spalte für den öffentlichen Zugriff ein Link-Symbol angezeigt. Wenn Sie auf dieses Symbol klicken, erhalten Sie die URL für das Objekt.
Befehlszeile
Führen Sie den Befehl buckets add-iam-policy-binding
aus:
gcloud storage buckets add-iam-policy-binding gs://www.example.com --member=allUsers --role=roles/storage.objectViewer
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
REST APIs
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:
{ "bindings":[ { "role": "roles/storage.objectViewer", "members":["allUsers"] } ] }
Verwenden Sie
cURL
, um die JSON API mit einerPUT
-Bucket-Anfrage aufzurufen:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Dabei gilt:
JSON_FILE_NAME
ist der Pfad für die JSON-Datei, die Sie in Schritt 2 erstellt haben.BUCKET_NAME
ist der Name des Buckets, dessen Objekte Sie veröffentlichen möchten. Beispiel:my-bucket
.
XML API
Die öffentliche Freigabe aller Objekte in einem Bucket wird von der XML API nicht unterstützt. Verwenden Sie stattdessen die Google Cloud Console oder gcloud storage
.
Wenn Sie möchten, können Sie auch Teile Ihres Buckets öffentlich zugänglich machen.
Besucher erhalten einen http 403
-Antwortcode, wenn sie die URL für eine nicht öffentliche oder nicht vorhandene Datei anfordern. Informationen zum Einfügen einer Fehlerseite mit einem http 404
-Antwortcode finden Sie im nächsten Abschnitt.
Empfohlen: Spezialseiten zuweisen
Sie können ein Indexseitensuffix zuweisen, das vom Attribut MainPageSuffix
und einer benutzerdefinierten Fehlerseite gesteuert wird, die wiederum vom Attribut NotFoundPage
gesteuert wird. Beide Zuweisungen sind optional. Ohne eine Indexseite wird jedoch nichts angezeigt, wenn Nutzer auf Ihre Top-Level-Website (z. B. http://www.example.com
) zugreifen. Weitere Informationen finden Sie unter Beispiele für die Websitekonfiguration.
Im folgenden Beispiel ist MainPageSuffix
auf index.html
und NotFoundPage
auf 404.html
festgelegt:
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Suchen Sie in der Liste der Buckets den Bucket, den Sie erstellt haben.
Klicken Sie auf das Dreipunkt-Menü (more_vert) des Buckets und wählen Sie Websitekonfiguration bearbeiten aus.
Geben Sie im Dialogfeld zur Websitekonfiguration die Hauptseite und die Fehlerseite an.
Klicken Sie auf Speichern.
Befehlszeile
Verwenden Sie den buckets update
-Befehl mit den Flags --web-main-page-suffix
und --web-error-page
.
gcloud storage buckets update gs://www.example.com --web-main-page-suffix=index.html --web-error-page=404.html
Wenn der Vorgang erfolgreich ist, gibt der Befehl Folgendes zurück:
Updating gs://www.example.com/... Completed 1
Clientbibliotheken
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Richten Sie die Standardanmeldedaten für Anwendungen ein, um sich bei Cloud Storage zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.
REST APIs
JSON API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Erstellen Sie eine JSON-Datei, die die Attribute
mainPageSuffix
undnotFoundPage
in einemwebsite
-Objekt auf die gewünschten Seiten festlegt:{ "website":{ "mainPageSuffix": "index.html", "notFoundPage": "404.html" } }
Verwenden Sie
cURL
, um die JSON API mit einerPATCH
-Bucket-Anfrage aufzurufen. Für www.example.com:curl -X PATCH --data-binary @web-config.json \ -H "Authorization: $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/www.example.com"
XML API
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Erstellen Sie eine XML-Datei, die die Elemente
MainPageSuffix
undNotFoundPage
in einemWebsiteConfiguration
-Element auf die gewünschten Seiten festlegt:<WebsiteConfiguration> <MainPageSuffix>index.html</MainPageSuffix> <NotFoundPage>404.html</NotFoundPage> </WebsiteConfiguration>
Verwenden Sie
cURL
, um die XML API mit einerPUT
-Bucket-Anfrage und dem AbfragestringparameterwebsiteConfig
aufzurufen. Für www.example.com:curl -X PUT --data-binary @web-config.xml \ -H "Authorization: $(gcloud auth print-access-token)" \ https://storage.googleapis.com/www.example.com?websiteConfig
Website testen
Prüfen Sie, ob der Inhalt des Buckets bereitgestellt wird, indem Sie den Domainnamen in einem Browser anfordern. Sie können dazu einen Pfad zu einem Objekt oder nur den Domainnamen verwenden, sofern Sie das Attribut MainPageSuffix
festlegen.
Wenn Sie beispielsweise prüfen möchten, ob ein Objekt namens test.html
in einem Bucket namens www.example.com
zugänglich ist, rufen Sie www.example.com/test.html
in Ihrem Browser auf.
Bereinigen
Nachdem Sie die Anleitung abgeschlossen haben, können Sie die erstellten Ressourcen bereinigen, damit sie keine Kontingente mehr nutzen und keine Gebühren mehr anfallen. In den folgenden Abschnitten erfahren Sie, wie Sie diese Ressourcen löschen oder deaktivieren.
Projekt löschen
Am einfachsten vermeiden Sie weitere Kosten, wenn Sie das zum Ausführen der Anleitung erstellte Projekt löschen.
So löschen Sie das Projekt:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.