Für Website-ähnliche Funktionen in S3, wie z. B. Weiterleitungen, HTML-Fehlermeldungen und Indexdokumente, können Sie den REST-Endpunkt ( ${bucket_name}.s3.amazonaws.com
oder ${bucket_name}.s3.${region}.amazonaws.com
) nicht verwenden, da diese Funktionen nur von den Website-Endpunkten ( ${bucket_name}.s3-website.${region}.amazonaws.com
) bereitgestellt werden .
http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html
Um das Verhalten in Cloudfront verfügbar zu machen, müssen Sie Cloudfront so konfigurieren, dass auch dieser Endpunkt verwendet wird, nicht der REST, der über die automatische Vervollständigung in der Konsole angeboten wird.
Geben Sie den Hosting-Endpunkt für die statische Amazon S3-Website für Ihren Bucket ein. Dieser Wert wird in der Amazon S3-Konsole auf der Seite Eigenschaften unter Statisches Website-Hosting angezeigt .
Wenn Sie den Bucket-Namen in diesem Format angeben, können Sie Amazon S3-Weiterleitungen und benutzerdefinierte Amazon S3-Fehlerdokumente verwenden.
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistS3AndCustomOrigins.html
Beachten Sie, dass die Webendpunkte HTTPS nicht unterstützen. Sie können Cloudfront jedoch so konfigurieren, dass es mit HTTP aus dem Bucket abgerufen wird, obwohl die Clientverbindung HTTPS ist.
Hilfreicher Tipp: Bei der Fehlerbehebung und beim Testen von Änderungen mit CloudFront sind Benutzer häufig verwirrt über die offensichtliche "Latenz" zwischen dem Vornehmen von Änderungen und dem Beginn des neuen Verhaltens von CloudFront. Bei Fehlerseiten verfügt CloudFront über eine standardmäßige 5-Minuten- Fehler-Caching-Mindest-TTL , die verhindert, dass Anforderungen für fehlgeschlagene Seiten erneut an den Ursprung gesendet werden. Dies ist ein separater Zeitgeber von der im Cache-Verhalten festgelegten minimalen / Standard- / maximalen TTL . Insbesondere beim Testen möchten Sie diese Timer möglicherweise deaktivieren und bei jeder nachfolgenden Anforderung von Seiten, die Fehler zurückgegeben haben, einen erneuten Versuch erzwingen. Verwenden Sie dazu die Schritte, die ich in der Antwort auf eine Frage zur offensichtlichen Amazon CloudFront-Latenz angegeben habe .