Gibt es eine Möglichkeit, die index.html-Funktionalität mit Inhalten zu nutzen, die auf S3 gehostet werden?

StackOverflow https://stackoverflow.com/questions/27899

  •  09-06-2019
  •  | 
  •  

Frage

Gibt es eine Möglichkeit, S3 standardmäßig auf eine index.html-Seite festzulegen?Z.B.:Meine Bucket-Objektliste:

/index.html
/favicon.ico
/images/logo.gif

Ein Aufruf an www.example.com/index.html funktioniert super!Aber wenn man anrufen würde www.example.com/ Abhängig davon, wie die ACL auf Bucket-Ebene konfiguriert wurde, erhielten wir entweder ein 403- oder ein REST-Objektlisten-XML-Dokument.

Also die Frage:Gibt es eine Möglichkeit, die index.html-Funktionalität mit Inhalten zu nutzen, die auf S3 gehostet werden?

War es hilfreich?

Lösung

Amazon S3 unterstützt jetzt Indexdokumente

Der Indexdokument denn ein Bucket kann auf so etwas eingestellt werden index.html.Beim Zugriff auf das Stammverzeichnis der Site oder ein Unterverzeichnis, das ein Dokument mit diesem Namen enthält, wird dieses Dokument zurückgegeben.

Mit der AWS-CLI geht das ganz einfach:

aws s3 website $MY_BUCKET_NAME --index-document index.html

Sie können das einstellen Indexdokument über die AWS-Managementkonsole:

enter image description here

Andere Tipps

Für Leute, die nach drei Jahren immer noch damit zu kämpfen haben, möchte ich einige wichtige Informationen hinzufügen:

Die URL für Ihre Website (und auf die Sie Ihr DNS verweisen müssen) ist nicht vorhanden

<bucket_name>.s3-us-west-2.amazonaws.com, Aber

<bucket_name>.s3-website-us-west-2.amazonaws.com.

Wenn Sie das erste verwenden, funktioniert es nicht wie vorgesehen, egal wie stark Sie es konfigurieren Indexdokument.

Betrachten Sie als konkretes Beispiel Folgendes:

Um Ihre wahre Website-Adresse zu erhalten, gehen Sie zu Ihrer S3-Verwaltungskonsole, wählen Sie dann den Ziel-Bucket aus Properties, Dann Static Website Hosting.Es wird die Website-URL angezeigt, die funktioniert.

Sie können es ganz einfach mit Amazon CloudFront lösen Verknüpfung.Bei Amazon CloudFront können Sie das Root-Objekt ändern.Sie können den Manager hier herunterladen:m1.mycloudbuddy.com/downloads.html.

Es ist lange her, dass diese Frage gestellt wird und Amazon S3 seine Benutzeroberfläche ändert.Ich möchte mit aktualisierten Screenshots antworten.

Wir müssen „statisches Webhosting“ aktivieren, damit S3 als Webhosting dienen kann.- Gehen Sie zu Eigenschaften -> Klicken Sie auf statisches Webhosting -> Wählen Sie 'Verwenden Sie diesen Bucket, um eine Website zu hosten.' - Geben Sie das Indexdokument (index.html standardmäßig), Fehlerdokument und Umleitungsregeln ein, falls vorhanden.Selecting static web hosting

use-this-bucket-to-host-a-website

Wie in beantwortet https://stackoverflow.com/a/24377823/3086531, Webhosting-Link wäre

http://bucket-name.s3-website-region.amazonaws.com

Ich würde vorschlagen, es zu lesen dieser Thread aus dem Jahr 2006 (Über Amazon Web Services Developers Connection).Es scheint, dass es dafür keine einfache Lösung gibt.

Ja.Mit AWS Cloudfront können Sie eine Standarddatei zuweisen.

Sie können dies mithilfe von DNS-Webforwards und Cloaking tun.Gehen Sie einfach zum vollständigen Pfad der index.html weiter

www.example.com leitet weiter an http://www.example.com.s3.amazonaws.com und stellen Sie sicher, dass Sie die Ausgabe tarnen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top