ハマログ

株式会社イーツー・インフォの社員ブログ

CloudFrontでオリジンがS3のときに、ルートURLでファイルリストが表示される

AWSでS3をオリジンにしてCloudFrontで静的サイトとして公開したときに、ファイルは正しく表示されましたが、ルートURLにアクセスした際にS3のファイルリストが表示されてしまいました。
S3をパブリックアクセスにしてルートURLにアクセスしたところ、index.htmlファイルを読み込む動作になりました。こちらは問題なさそうです。

仕様でした

に記載がありました。
ルートオブジェクトを定義しない場合の CloudFront の動作

Amazon S3 バケットのコンテンツのリスト – 以下のいずれかの条件が満たされる場合、CloudFront を使用してディストリビューションにアクセスするユーザーにオリジンのコンテンツが表示されます。

バケットが適切に構成されていない。

ディストリビューションに関連付けられているバケット、およびバケット内のオブジェクトに対する Amazon S3 アクセス許可で、すべてのユーザーにアクセスが付与されている。

エンドユーザーがオリジンのルート URL を使用してオリジンにアクセスしている。
今回は、同URLに記載のある、「デフォルトのルートオブジェクトを指定する方法」で対応しました。

CloudFront→ディストリビューション→一般→設定→編集

デフォルトルートオブジェクト – オプション ビューワーが特定のオブジェクトの代わりにルート URL (/) を要求したときに返されるオブジェクト (ファイル名)。 にindex.htmlと入力
S3のファイルリストが表示されなくなりました。
AmazonAmazon S3 アクセス許可AWSCDNCFCloudFrontindex.htmlS3webインフラウェブオブジェクトオプションキャッシュディストリビューションデフォルトのルートオブジェクトパブリックアクセスビューワーファイルリストルートURL表示静的サイト

  kaneko tomo   2023年11月10日


関連記事

AWS CDKで作った定期的なタスク起動がたまに失敗するのでStep Functionsを導入したお話

昔々あるところに、毎日起動しているはずのAmazon ECSのタスクが起動しなか…

AWS上にWindows+OWASP Zap環境を作る

OWASP Zapでの脆弱性検査を、開発者PCもしくはオフィスの共有PCから実行…

Amazon Data Lifecycle Manager(DLM)を利用したEBSのバックアップ

ソフトウェアデザイン 2018年11月号のAWS再入門を読んでいたら、Amazo…


← 前の投稿

次の投稿 →