Q34 — AWS DVA-C02 第3章

第 34/100 問 | ← 第3章

静的ウェブサイトがAmazon S3バケットにホストされています。このサイトのHTMLページの1つは、JavaScriptを用いて別のAmazon S3バケットから画像を読み込んでいます。しかし、ユーザーがウェブサイトを閲覧しても、これらの画像が表示されません。この問題の原因として考えられるものは何ですか?

正解: D. Amazon S3バケットでクロスオリジンリソース共有(CORS)を有効にする必要があります。

解説

静的ウェブサイトのHTMLページが別のS3バケットから画像を読み込む場合、これはクロスオリジンアクセスに該当し、ブラウザの同一オリジンポリシーによってブロックされる可能性があります。この問題を解決するには、参照先S3バケットでクロスオリジンリソース共有(CORS)を有効化する必要があります。そうでなければ、画像の読み込みが拒否され、表示されません。Aについては、リージョンの違いは画像非表示の直接的な原因とは限りません。Bについては、画像は必ずしも同一バケットに保存する必要はありません。Cについては、S3バケットはセキュリティグループを用いないため、80番ポートの開放は関係ありません。以上より、この問題の最も可能性の高い原因はD、すなわちAmazon S3バケットでCORSを有効化することです。 【灯笼考证提供:swufelp1999】