web-dev-qa-db-ja.com

CloudfrontカスタムエラーページをS3に保存するにはどうすればよいですか?

AWSロードバランサーに接続されたCloudfrontがあります。

AWSのドキュメントで、Cloudfrontカスタムエラーページをカスタマイズできることがわかりました。これらのエラーページはAWSドキュメントで推奨されているため、S3に保存しようとしましたが、機能しません。ドキュメントによると:

We recommend that you store custom error pages in an Amazon S3 bucket even if you're using a custom Origin. If you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the Origin server is unavailable.

エラーページはS3にあり、パスは「my-app-bucket /errorpage.html」です。

このファイルをCloudfront設定でリンクしようとしましたが、次のエラーが発生します:

Cloudfront custom error page configuration

値/my-app-bucket/errorpage.htmlを試すと、CloudfrontはリクエストをELB Originにリダイレクトし、404を取得します。

この構成を行う方法を誰が説明できますか?

5
jsebfranck

これらは http://blog.celingest.com/en/2013/12/12/cloudfront-configuring-custom-error-pages/ からのヒントです。

  • エラーページがあるバケットを指す別のCloudFrontオリジンを追加する必要があります
  • 新しく作成されたオリジンのキャッシュ動作には、エラーページが存在するフォルダー(エラーページバケット内)を指すパスパターンが必要です。
  • その後、カスタムエラー応答構成を作成するときに、応答ページパスでそのパスを使用できます。
5
f01

これを行うには、f01で推奨されている方法よりもはるかに簡単な方法があります。 S3で静的ウェブサイトホスティングを有効にし、S3でエラーページを指定してから、静的ウェブサイトホスティングURLをクラウドフロントバケットのオリジンとして使用します。特別なパスの問題やカスタムエラー応答の構成はありません。うまくいきます。超簡単。

これが私が作ったチュートリアルビデオです:

AWS S3およびCloudfrontのカスタムエラーページ

0
mbarlocker