blog.bouzuya.net

2017-03-23 blog.bouzuya.net を https 化した

2017-03-22 に書いたとおり blog.bouzuya.net を https にした。

これは bouzuya/mr-jums から http で fetch していると、 mr-jums 自体を https で参照できないことに対応するためでもある。

すこし問題があった。 CloudFront の Default Root Object と S3 の Index Document の違いだ。 CloudFront のドキュメントには次のようにある。

CloudFront のデフォルトルートオブジェクトの動作は、Amazon S3 のインデックスドキュメントの動作とは異なります。Amazon S3 バケットをウェブサイトとして構成し、インデックスドキュメントを指定した場合、ユーザーがバケット内のサブディレクトリを要求しても、Amazon S3 はインデックスドキュメントを返します。 http://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html

これはつまりこういうことだ

  • CloudFront / -> S3 Bucket /index.html
  • CloudFront /2017/03/23/ -> S3 Bucket /2017/03/23/ (/2017/03/23/index.html にならないためエラー)
  • S3 Website / -> S3 Bucket /index.html
  • S3 Website /2017/03/23/ -> S3 Bucket /2017/03/23/index.html

上 2 つは Default Root Object の挙動、下 2 つは Index Document の挙動だ。

そこで S3 Bucket を Origin にするのではなく、 S3 Website を Origin にした。 CloudFront -> S3 Website 間が HTTP になってしまうのは諦めるか……。