Wie legen Sie eine Standard-root-Objekt für die Unterverzeichnisse, die für ein statisch gehosteten website auf Cloudfront?

Wie legen Sie eine Standard-root-Objekt für Unterverzeichnisse auf eine statisch gehosteten website auf Cloudfront? Speziell möchte ich www.example.com/subdir/index.html bedient werden, wenn der Benutzer fragt nach www.example.com/subdir. Beachten Sie, dies ist für die Auslieferung einer statischen website statt in einem S3-bucket. Darüber hinaus möchte ich eine origin-access id Zugriff auf den S3-bucket, um nur Cloudfront.

Nun, ich bin mir bewusst, dass Cloudfront funktioniert anders als S3 und amazon Mitgliedstaaten speziell:

Das Verhalten von CloudFront Standard-root-Objekte unterscheidet sich von der
Verhalten von Amazon S3-Dokumente indizieren. Beim konfigurieren einer Amazon S3
Eimer, als eine website, und geben Sie die index-Dokument, Amazon S3 gibt
der index Dokument selbst wenn ein Benutzer ein Unterverzeichnis, das in der
Eimer. (Eine Kopie des index-Dokument angezeigt werden muss in jedem
Unterverzeichnis.) Weitere Informationen zum konfigurieren der Amazon S3
Eimer, als Webseiten und über index-Dokumente, finden Sie unter Hosting
Websites, die auf Amazon S3-Kapitel in der Amazon Simple Storage Service
Developer Guide.

Als solche, obwohl Cloudfront ermöglicht uns, geben Sie einen Standard-root-Objekt, das funktioniert nur für www.example.com und nicht für www.example.com/subdir. Um dies zu umgehen, Schwierigkeiten, wir können ändern den origin-domain-Namen, um auf die website Endpunkt gegeben durch S3. Dies funktioniert hervorragend und die Möglichkeit, die root-Objekte werden einheitlich angegeben. Leider werden diese nicht angezeigt werden-kompatibel mit origin access identities. Speziell die links oben, Staaten:

Ändern Bearbeiten-Modus:

Web-Distributionen, die Sie Auf die Ursprünge Registerkarte, klicken Sie auf die Herkunft, die Sie Bearbeiten möchten, und klicken Sie auf Bearbeiten. Sie können nur einen origin-Zugang
Identität für die Herkunft, für die Herkunft Typ S3 Herkunft.

Grundsätzlich, um die korrekte Standard-root-Objekt, verwenden wir die S3-website-Endpunkt und nicht die website der Eimer selbst. Dies ist nicht kompatibel mit origin-access-Identität. Als solche, meine Fragen läuft darauf hinaus, entweder

  1. Ist es möglich, geben Sie einen Standard-root-Objekt für alle Unterverzeichnisse, die für ein statisch gehosteten website auf Cloudfront?

  2. Ist es möglich, um das setup eine origin Zugang Identität für Inhalte, die Ihnen von Cloudfront, wo der Ursprung ist einer S3-website-Endpunkt und nicht von einem S3-bucket?

  • Ich denke, das ist jetzt machbar mit Lambda@Rand, eine Funktion, die leitet alle URLs mit / am Ende von /index.html ich werde versuchen es auf meine website und melden die Ergebnisse zurück und poste die detaillierte Konfiguration als eine Antwort.
InformationsquelleAutor wyer33 | 2015-06-24
Schreibe einen Kommentar