開発者が、オリジンアクセス制御 (OAC) を使用して CloudFront 経由で提供される S3 バケットで静的ウェブサイトをホストしているため、バケットは公開されていません。ユーザーは明示的なファイル URL (例: /products/index.html) にアクセスできますが、ディレクトリ URL (例: /products/) をリクエストするとエラーが発生します。S3 バケットを公開せずに、デフォルトのインデックスファイルを返すようにディレクトリリクエストを処理するにはどうすればよいですか?
解答を選択
オプションをタップして解答を確認してください。
正解: ディレクトリ形式のリクエストを検出し、リクエスト URL に index.html を追加する CloudFront ビューアリクエスト関数を作成し、それをディストリビューションビヘイビアにアタッチします。.
これが解答である理由
CloudFront Viewer Request 関数は、リクエストがオリジンに到達する前に変更できるため、ディレクトリ形式のリクエスト(例: /products/)を検出して、index.html を追加(例: /products/index.html)することで、S3 バケットが公開されていない状態でもデフォルトのインデックスファイルを返すことができます。これにより、S3 静的ウェブサイトホスティングを有効にしたり、バケットポリシーを変更したりすることなく、OAC のセキュリティ上の利点を維持できます。 CloudFront ディストリビューションのデフォルトルートオブジェクトの変更は、ルートディレクトリ(/)にのみ適用され、サブディレクトリには適用されません。S3 静的ウェブサイトホスティングの有効化は、バケットを公開する必要があり、OAC の目的と矛盾します。404 エラーレスポンスの設定は、エラーが発生した後にインデックスファイルを返すため、ユーザーエクスペリエンスが悪く、直接的な解決策ではありません。
試験に合格 — 終わりのない解答探しなしで
この試験のすべての検証済み問題と解説を1か所で入手し、準備時間を大幅に節約しましょう。1,000以上の認定 · 20以上の言語 · 無料で開始。
試験に早く合格する → カード不要