Geben Sie ein Standard-Stammobjekt an - Amazon CloudFront

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Geben Sie ein Standard-Stammobjekt an

Sie können so konfigurieren CloudFront , dass ein bestimmtes Objekt (das Standard-Root-Objekt) zurückgegeben wird, wenn ein Benutzer das Stammverzeichnis URL für Ihre Distribution anfordert, anstatt ein Objekt in Ihrer Distribution anzufordern. Durch die Festlegung eines Standardstammobjekt können Sie vermeiden, dass die Inhalte Ihrer Verteilung preisgegeben werden.

So geben Sie ein Standardstammobjekt an

Um zu verhindern, dass die Inhalte Ihrer Verteilung offengelegt werden oder dass ein Fehler zurückgegeben wird, führen Sie die folgenden Schritte aus, um ein Standardstammobjekt für Ihre Verteilung anzugeben.

So geben Sie ein Standardstammobjekt für Ihre Verteilung an
  1. Laden Sie das Standardstammobjekt auf den Ursprung hoch, auf den Ihre Verteilung zeigt.

    Bei der Datei kann es sich um einen beliebigen Typ handeln, der von unterstützt wird CloudFront. Eine Liste der Einschränkungen für den Dateinamen finden Sie in der Beschreibung des DefaultRootObject Elements unter DistributionConfig.

    Anmerkung

    Wenn der Dateiname des Standard-Stammobjekts zu lang ist oder ein ungültiges Zeichen enthält, wird der Fehler CloudFront zurückgegebenHTTP 400 Bad Request - InvalidDefaultRootObject. Außerdem wird der Code für 10 Sekunden CloudFront zwischengespeichert (standardmäßig) und die Ergebnisse werden in die Zugriffsprotokolle geschrieben.

  2. Vergewissern Sie sich, dass die Berechtigungen für das Objekt CloudFront mindestens read Zugriff gewähren.

    Weitere Informationen zu Amazon-S3-Berechtigungen finden Sie unter Identity and Access Management in Amazon S3 im Amazon-Simple-Storage-Service-Benutzerhandbuch.

  3. Aktualisieren Sie Ihre Distribution so, dass sie auf das Standard-Stammobjekt verweist, indem Sie die CloudFront Konsole oder die verwenden CloudFront API.

    So geben Sie mithilfe der CloudFront Konsole ein Standard-Root-Objekt an:

    1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die CloudFront Konsole unterhttps://console.aws.amazon.com/cloudfront/v4/home.

    2. Wählen Sie in der Liste der Verteilungen im oberen Bereich die zu aktualisierende Verteilung aus.

    3. Wählen Sie im Bereich Settings (Einstellungen) auf der Registerkarte General (Allgemein) die Option Edit (Bearbeiten) aus.

    4. Geben Sie im Dialogfeld Edit settings (Einstellungen bearbeiten) im Feld Default Root Object (Standardstammobjekt) den Dateinamen des Standardstammobjekts ein.

      Geben Sie nur den Objektnamen ein, z. B, index.html. Fügen Sie keinen / vor dem Objektnamen hinzu.

    5. Wählen Sie Änderungen speichern.

    Um Ihre Konfiguration mit dem zu aktualisieren CloudFront API, geben Sie einen Wert für das DefaultRootObject Element in Ihrer Distribution an. Informationen zur Verwendung von CloudFront API zur Angabe eines Standard-Root-Objekts finden Sie UpdateDistributionin der CloudFront APIAmazon-Referenz.

  4. Bestätigen Sie, dass Sie das Standard-Root-Objekt aktiviert haben, indem Sie Ihr Root-Objekt anfordernURL. Wenn Ihr Standardstammobjekt im Browser nicht angezeigt wird, führen Sie die folgenden Schritte aus:

    1. Vergewissern Sie sich, dass Ihre Distribution vollständig bereitgestellt wurde, indem Sie den Status Ihrer Distribution in der CloudFront Konsole einsehen.

    2. Wiederholen Sie die Schritte 2 und 3, um sicherzustellen, dass Sie die richtigen Berechtigungen erteilt und die Konfiguration Ihrer Verteilung ordnungsgemäß aktualisiert haben, um das Standardstammobjekt anzugeben.

So funktioniert das Standardstammobjekt

Angenommen, die folgende Anfrage zeigt beispielsweise auf das Objekt image.jpg:

https://d111111abcdef8.cloudfront.net/image.jpg

Im Gegensatz dazu verweist die folgende Anfrage auf das Stammverzeichnis URL derselben Distribution und nicht auf ein bestimmtes Objekt, wie im ersten Beispiel:

https://d111111abcdef8.cloudfront.net/

Wenn Sie ein Standardstammobjekt definieren, gibt eine Endbenutzeranfrage, welche den Stamm Ihrer Verteilung aufruft, das Standardstammobjekt zurück. Wenn Sie beispielsweise die Datei index.html als Standardstammobjekt bestimmen, gibt eine Anfrage für:

https://d111111abcdef8.cloudfront.net/

Rückgabe:

https://d111111abcdef8.cloudfront.net/index.html

Anmerkung

CloudFront bestimmt nicht, ob a URL mit mehreren nachfolgenden Schrägstrichen (https://d111111abcdef8.cloudfront.net///) äquivalent zu ist. https://d111111abcdef8.cloudfront.net/ Ihr Ursprungsserver führt diesen Vergleich durch.

Wenn Sie ein Standardstammobjekt definieren, gibt eine Endbenutzeranfrage für ein Unterverzeichnis Ihrer Verteilung nicht das Standardstammobjekt zurück. Nehmen wir zum Beispiel an, index.html es ist Ihr Standard-Root-Objekt, das eine Endbenutzeranfrage für das install Verzeichnis in Ihrer Distribution CloudFront empfängt: CloudFront

https://d111111abcdef8.cloudfront.net/install/

CloudFront gibt das Standard-Stammobjekt nicht zurück, auch wenn eine Kopie von im install Verzeichnis index.html erscheint.

Wenn Sie Ihre Distribution so konfigurieren, dass sie alle CloudFront unterstützten HTTP Methoden zulässt, gilt das Standard-Stammobjekt für alle Methoden. Wenn Ihr Standard-Root-Objekt beispielsweise index.php ist und Sie Ihre Anwendung schreiben, um eine POST Anfrage an das Stammverzeichnis Ihrer Domain zu senden (https://example.com), wird die Anfrage an https://example.com /index.php CloudFront gesendet.

Das Verhalten von CloudFront Standard-Root-Objekten unterscheidet sich vom Verhalten von Amazon S3 S3-Indexdokumenten. Wenn Sie einen Amazon S3-Bucket als Website konfigurieren und das Indexdokument angeben, gibt Amazon S3 das Indexdokument auch dann zurück, wenn ein Benutzer ein Unterverzeichnis im Bucket anfragt. (Eine Kopie des Indexdokuments muss in allen Unterverzeichnissen angezeigt werden.) Weitere Informationen zum Konfigurieren von Amazon-S3-Buckets als Websites und zu Indexdokumenten finden Sie im Kapitel Hosting von Websites auf Amazon S3 im Benutzerhandbuch zu Amazon Simple Storage Service.

Wichtig

Denken Sie daran, dass ein Standard-Root-Objekt nur für Ihre CloudFront Distribution gilt. Sie müssen noch die Sicherheit für Ihren Ursprung verwalten. Wenn Sie beispielsweise einen Amazon S3 S3-Ursprung verwenden, müssen Sie Ihren Amazon S3-Bucket dennoch ACLs entsprechend einrichten, um die gewünschte Zugriffsebene für Ihren Bucket sicherzustellen.

Wie CloudFront funktioniert, wenn Sie kein Root-Objekt definieren

Wenn Sie kein Standardstammobjekt definieren, werden Anfragen für den Stamm Ihrer Verteilung an Ihren Ursprungs-Server weitergeleitet. Wenn Sie einen Amazon S3-Ursprung verwenden, kann Folgendes zurückgegeben werden:

  • Eine Liste der Inhalte Ihres Amazon S3 S3-Buckets — Unter einer der folgenden Bedingungen sind die Inhalte Ihres Ursprungs für jeden sichtbar, der auf Ihre Distribution CloudFront zugreift:

    • Ihr Bucket ist nicht ordnungsgemäß konfiguriert.

    • Die Amazon S3-Berechtigungen für den mit Ihrer Verteilung verknüpften Bucket und für die Objekte im Bucket gewähren allen Benutzern den Zugriff.

    • Ein Endbenutzer greift über Ihr Origin-Stammverzeichnis URL auf Ihren Ursprung zu.

  • Eine Liste der privaten Inhalte Ihres Ursprungs — Wenn Sie Ihren Ursprung als private Distribution konfigurieren (nur Sie und Sie CloudFront haben Zugriff), ist der Inhalt des Amazon S3 S3-Buckets, der mit Ihrer Distribution verknüpft ist, für jeden sichtbar, der über die Anmeldeinformationen für den Zugriff auf Ihre Distribution verfügt CloudFront. In diesem Fall können Benutzer nicht über Ihr Ursprungsverzeichnis auf Ihre Inhalte zugreifenURL. Weitere Informationen zum Verteilen von privaten Inhalten finden Sie unter Stellen Sie private Inhalte mit signierten URLs und signierten Cookies bereit.

  • Error 403 Forbidden— CloudFront gibt diesen Fehler zurück, wenn die Berechtigungen für den Amazon S3 S3-Bucket, der mit Ihrer Distribution verknüpft ist, oder die Berechtigungen für die Objekte in diesem Bucket allen den Zugriff CloudFront verweigern.