Ein Entwickler hostet eine statische Website in einem S3-Bucket, die über CloudFront bereitgestellt wird, wobei Origin Access Control (OAC) verwendet wird, damit der Bucket nicht öffentlich ist. Benutzer können auf explizite Datei-URLs zugreifen (z. B. /products/index.html), erhalten jedoch einen Fehler, wenn sie Verzeichnis-URLs anfordern (z. B. /products/). Ohne den S3-Bucket öffentlich zu machen, wie können Verzeichnisanfragen so bedient werden, dass sie die Standard-Indexdatei zurückgeben?
Wählen Sie eine Antwort
Tippen Sie auf eine Option, um Ihre Antwort zu überprüfen.
Richtige Antwort: Erstellen Sie eine CloudFront-Viewer-Request-Funktion, die Anfragen im Verzeichnisstil erkennt und index.html an die Anforderungs-URL anhängt, und fügen Sie diese dem Distributionsverhalten hinzu..
Warum dies die Antwort ist
Die korrekte Antwort ist, eine CloudFront-Viewer-Request-Funktion zu erstellen. Wenn Benutzer eine Verzeichnis-URL wie /products/ anfordern, sendet CloudFront diese Anfrage an den S3-Origin. Da S3-Buckets, die nicht als statische Websites konfiguriert sind, keine Indexdokumente für Verzeichnisse unterstützen, schlägt die Anfrage fehl. Eine Viewer-Request-Funktion kann die eingehende Anfrage abfangen und die URL umschreiben, indem sie index.html anhängt (z. B. /products/index.html), bevor die Anfrage an den Origin weitergeleitet wird. Dies löst das Problem, ohne den S3-Bucket öffentlich zu machen oder die Sicherheit zu beeinträchtigen. Das Ändern des Standard-Root-Objekts der CloudFront-Distribution in index.html funktioniert nur für die Root-URL (/), nicht für Unterverzeichnisse. Das Aktivieren von S3 Static Website Hosting erfordert, dass der Bucket öffentlich zugänglich ist, was der Anforderung widerspricht, den Bucket nicht öffentlich zu machen, und OAC umgeht. Eine benutzerdefinierte Fehlerantwort für 404 würde nur bei einem bereits aufgetretenen Fehler reagieren und nicht proaktiv die korrekte Datei bereitstellen.
Bestehen Sie Ihre Prüfung – ohne endlose Antwortsuche
Erhalten Sie jede verifizierte Frage und Erklärung für diese Prüfung an einem Ort und sparen Sie Stunden der Vorbereitung. Über 1.000 Zertifizierungen · Über 20 Sprachen · Kostenloser Start.
Bestehen Sie Ihre Prüfung schneller → Keine Karte erforderlich