S3 Webホスティング
S3 での Webホスティングについては下記を確認
Amazon S3 での静的ウェブサイトのホスティング
独自ドメインでSSL化したい場合は CloudFront
Amazon S3 でホストされている静的ウェブサイトを提供するために CloudFront をどのように使用したらよいですか ?
構成についてはマニュアル参照、以下に同構成を取る場合の注意点を書いておく
307リダイレクト
Amazon S3 から HTTP 307 Temporary Redirect レスポンスが返るのはなぜですか?
S3 + CloudFront 形式で新規作成した場合、
S3 のエッジと CloudFront のエッジ環境が整いきるまでは 307 リダイレクトで S3 の URL にリダイレクトされてしまう仕様
最大24時間かかることもある
多階層時のディレクトリインデックス
CloudFront ディストリビューションのオリジンとして S3 ウェブサイトのエンドポイントを使用しています。403 Access Denied (アクセス拒否) エラーが発生するのはなぜですか?
CloudFront がサブディレクトリからデフォルトのルートオブジェクトを返さないのはなぜですか?
CloudFrontでS3をエンドポイントに設定する場合
S3 形式のエンドポイントにするか、REST API Webホスティング 形式で S3 を指定するかで表示の挙動が変わる
参照記事にあるように
S3 エンドポイント形式(REST API)の場合
リクエスト:https://hogehoge.com/ → CloudFront+S3:https://hogehoge.com/index.html
リクエスト:https://hogehoge.com/hogehoge/ → CloudFront+S3:403
CloudFront のオリジン指定時で S3 バケットを指定した場合の話
S3のディレクトリインデックス指定は REST API Webホスティング 時の挙動設定なので
CloudFront でインデックスを指定しても TOP 時しかうまく動かない
S3 Webホスティング 形式
リクエスト:https://hogehoge.com/ → CloudFront+S3:https://hogehoge.com/index.html
リクエスト:https://hogehoge.com/hogehoge/ → CloudFront+S3:https://hogehoge.com/hogehoge/index.html
REST API Webホスティング形式のオリジン(S3のWebホスティングURL)にすれば S3 のディレクトリインデックス指定が有効に動く
しかし REST API Webホスティング形式の場合記事にあるように S3 を完全公開する必要があったりするため把握しておく
Webホスティングにした場合、オリジンに対する OAI が使えない
URLをバラさない限り直アクセスは無いとは思うがその点は注意する
SSIの利用
使えません(らしい)
明言しているソースは見つからなかったのだが、動かないことは確認できる
下記のような記述は動かない
<!--#include virtual="i/header.htm" -->
<!--#echo var="i/header.htm" -->
<!--#include file="i/header.htm" -->
まぁそもそも Server Side Include っていってるんだからサーバ無いしね