Aktivieren des Website-Hostings - Amazon Simple Storage Service

Willkommen im neuen Amazon-S3-Benutzerhandbuch! Das Amazon-S3-Benutzerhandbuch kombiniert Informationen und Anweisungen aus den drei eingestellten Handbüchern: Amazon-S3-Entwicklerhandbuch, Benutzerhandbuch der Amazon-S3-Konsole und Amazon S3 – Handbuch Erste Schritte.

Aktivieren des Website-Hostings

Wenn Sie einen Bucket als statische Website konfigurieren, müssen Sie das statische Website-Hosting aktivieren, ein Indexdokument konfigurieren und Berechtigungen festlegen.

Sie können das statische Website-Hosting über die Amazon S3-Konsole, die REST API, die AWS-SDKs, die AWS-CLI oder AWS CloudFormation aktivieren.

Informationen zum Konfigurieren Ihrer Website mit einer benutzerdefinierten Domäne finden Sie unter Konfigurieren einer statischen Website mithilfe einer benutzerdefinierten bei Route 53 registrierten Domäne.

So aktivieren Sie das statische Website-Hosting

  1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon S3-Konsole unter https://console.aws.amazon.com/s3.

  2. Wählen Sie in der Liste Buckets den Namen des Buckets aus, für den Sie das Hosting statischer Websites aktivieren wollen.

  3. Wählen Sie Properties (Eigenschaften) aus.

  4. Wählen Sie unter Static website hosting (Hosting statischer Websites) Edit (Bearbeiten) aus.

  5. Wählen Sie Use this bucket to host a website (Diesen Bucket zum Hosten einer Website verwenden).

  6. Wählen Sie unter Static website hosting (Hosting statischer Websites) die Option Enable (Aktivieren) aus

  7. Geben Sie unter Index document (Index-Dokument) den Dateinamen des Index-Dokuments ein, der typischerweise index.html ist.

    Der Name des Indexdokuments unterscheidet Groß- und Kleinschreibung und muss genau mit dem Dateinamen des HTML-Indexdokuments übereinstimmen, das Sie in den S3-Bucket hochladen möchten. Wenn Sie Ihren Bucket für das Hosting von Websites konfigurieren, müssen Sie ein Indexdokument angeben. Amazon S3 gibt dieses Indexdokument zurück, wenn Anfragen an die Root-Domäne oder einen der Unterordner gestellt werden. Weitere Informationen finden Sie unter Konfigurieren eines Indexdokuments.

  8. Um ein eigenes benutzerdefiniertes Fehlerdokument für Fehler der Klasse 4XX bereitzustellen, geben Sie unter Fehlerdokument den Dateinamen des benutzerdefinierten Fehlerdokuments ein.

    Der Name des Fehlerdokuments unterscheidet Groß- und Kleinschreibung und muss genau mit dem Dateinamen des HTML-Fehlerdokuments übereinstimmen, das Sie in Ihren S3-Bucket hochladen möchten. Wenn Sie kein benutzerdefiniertes Fehlerdokument angeben und ein Fehler auftritt, wird von Amazon S3 ein Standard-HTML-Fehlerdokument zurückgegeben. Weitere Informationen finden Sie unter Konfigurieren eines benutzerdefinierten Fehlerdokuments.

  9. (Optional) Wenn Sie erweiterte Umleitungsregeln angeben möchten, geben Sie unter Redirection rules (Umleitungsregeln) XML zur Beschreibung der Regeln ein.

    Beispielsweise können Sie bedingt Anfragen abhängig von bestimmten Objektschlüsselnamen oder Präfixen in der Anfrage weiterleiten. Weitere Informationen finden Sie unter Konfigurieren erweiterter bedingter Umleitungen.

  10. Wählen Sie Save Changes.

    Amazon S3 ermöglicht statisches Website-Hosting für Ihren Bucket. Unten auf der Seite sehen Sie unter Static website hosting (Hosting statischer Websites) den Website-Endpunkt für Ihren Bucket.

  11. Notieren Sie unter Static website hosting (Statisches Website-Hosting) den Wert für Endpoint (Endpunkt).

    Der Endpoint (Endpunkt) ist der Amazon S3-Website-Endpunkt für Ihren Bucket. Nachdem Sie den Bucket als statische Website konfiguriert haben, können Sie diesen Endpunkt verwenden, um Ihre Website zu testen.

Weitere Informationen zum Senden von direkten REST-Anfragen zur Aktivierung des statischen Website-Hostings finden Sie in den folgenden Abschnitten der Amazon Simple Storage Service API-Referenz:

Um eine statische Website auf Amazon S3 zu hosten, konfigurieren Sie einen Amazon S3-Bucket für ein Website-Hosting und laden dann Ihren Website-Inhalt in den Bucket hoch. Sie können die AWS SDKs auch verwenden, um die Websitekonfiguration programmgesteuert zu erstellen, zu aktualisieren und zu löschen. Die SDKs stellen Wrapper-Klassen für die Amazon S3-REST-APIs bereit. Falls in Ihrer Anwendung erforderlich, können Sie auch direkt von Ihrer Anwendung aus REST API-Anfragen senden.

.NET

Das folgende Beispiel veranschaulicht, wie Sie mit dem AWS SDK für .NET die Website-Konfiguration für einen Bucket verwalten. Um einem Bucket eine Website-Konfiguration hinzuzufügen, geben Sie einen Bucket-Namen und eine Website-Konfiguration an. Die Website-Konfiguration muss ein Indexdokument enthalten und kann optional ein Fehlerdokument enthalten. Diese Dokumente müssen im Bucket gespeichert sein. Weitere Informationen finden Sie unter PUT Bucket-Website. Weitere Informationen zur Amazon S3-Website-Funktion finden Sie unter Hosten einer statischen Website mit Amazon S3.

Das folgende C#-Code-Beispiel fügt dem angegebenen Bucket eine Website-Konfiguration hinzu. Die Konfiguration gibt die Namen für das Indexdokument und das Fehlerdokument an. Anweisungen zum Erstellen und Testen eines funktionierenden Beispiels finden Sie unter Ausführen der .NET-Codebeispiele für Amazon S3.

using Amazon; using Amazon.S3; using Amazon.S3.Model; using System; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class WebsiteConfigTest { private const string bucketName = "*** bucket name ***"; private const string indexDocumentSuffix = "*** index object key ***"; // For example, index.html. private const string errorDocument = "*** error object key ***"; // For example, error.html. // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 client; public static void Main() { client = new AmazonS3Client(bucketRegion); AddWebsiteConfigurationAsync(bucketName, indexDocumentSuffix, errorDocument).Wait(); } static async Task AddWebsiteConfigurationAsync(string bucketName, string indexDocumentSuffix, string errorDocument) { try { // 1. Put the website configuration. PutBucketWebsiteRequest putRequest = new PutBucketWebsiteRequest() { BucketName = bucketName, WebsiteConfiguration = new WebsiteConfiguration() { IndexDocumentSuffix = indexDocumentSuffix, ErrorDocument = errorDocument } }; PutBucketWebsiteResponse response = await client.PutBucketWebsiteAsync(putRequest); // 2. Get the website configuration. GetBucketWebsiteRequest getRequest = new GetBucketWebsiteRequest() { BucketName = bucketName }; GetBucketWebsiteResponse getResponse = await client.GetBucketWebsiteAsync(getRequest); Console.WriteLine("Index document: {0}", getResponse.WebsiteConfiguration.IndexDocumentSuffix); Console.WriteLine("Error document: {0}", getResponse.WebsiteConfiguration.ErrorDocument); } catch (AmazonS3Exception e) { Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message); } catch (Exception e) { Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message); } } } }
PHP

Das folgende PHP-Beispiel fügt dem angegebenen Bucket eine Website-Konfiguration hinzu. Die Methode create_website_config stellt explizit die Namen des Indexdokuments und des Fehlerdokuments bereit. Das Beispiel ruft auch die Website-Konfiguration ab und gibt die Antwort aus. Weitere Informationen zur Amazon S3-Website-Funktion finden Sie unter Hosten einer statischen Website mit Amazon S3.

Anweisungen zum Erstellen und Testen eines funktionierenden Beispiels finden Sie unter Verwenden des AWS SDK for PHP und Ausführen von PHP-Beispielen.

require 'vendor/autoload.php'; use Aws\S3\S3Client; $bucket = '*** Your Bucket Name ***'; $s3 = new S3Client([ 'version' => 'latest', 'region' => 'us-east-1' ]); // Add the website configuration. $s3->putBucketWebsite([ 'Bucket' => $bucket, 'WebsiteConfiguration' => [ 'IndexDocument' => ['Suffix' => 'index.html'], 'ErrorDocument' => ['Key' => 'error.html'] ] ]); // Retrieve the website configuration. $result = $s3->getBucketWebsite([ 'Bucket' => $bucket ]); echo $result->getPath('IndexDocument/Suffix'); // Delete the website configuration. $s3->deleteBucketWebsite([ 'Bucket' => $bucket ]);

Weitere Informationen zur Verwendung der AWS CLI zur Konfiguration eines S3-Buckets als statische Website finden Sie unter Website in der AWS CLI-Befehlsreferenz.

Als Nächstes müssen Sie das Indexdokument konfigurieren und Berechtigungen festlegen. Weitere Informationen finden Sie unter Konfigurieren eines Indexdokuments und Festlegen von Berechtigungen für den Website-Zugriff.

Optional können Sie auch ein Fehlerdokument, eineWebdatenverkehrs-Protokollierung oder eine Weiterleitung konfigurieren.