もともとBlogをGithub Pagesでやっていましたが、HTTPS化するのにCloudFlare使うのもなー、証明書の更新も面倒だなと思って躊躇していました。
証明書の更新だったらAWSのACM使えば無料だし、Acceptさえすれば自動で更新されていくし便利じゃん!と思い、S3とCloudFrontの設定をしましたが、サブディレクトリのindex.htmlが上手く解決できませんでした。
最初はS3をPrivate化して、CloudFrontからのアクセスに成功。しかし、index.htmlが解決できないので、S3をpublicにして必要な設定を入れてみても、どうも上手くいかない。
もやもやしていたところ、Netlifyの存在を教えて貰いました。
なにこれ、簡単すぎる!!
15分もあれば、諸々設定終わります。証明書もLet’s Encryptとボタン1つ押すだけで、自動で証明書が作られて自動更新されていきます。
とはいえ、いくつかハマったところがあったのでメモを残しておきます。
Let’s Encryptの設定でハマった
最初はcustom domainを適当な値にして確認していて(例:test1.orz.at
)、それで証明書の設定を入れた後に、blog.orz.at
に名前を変更したら、証明書の更新はどこからも変更できませんでした。なので、blog.orz.at
でアクセスしてもtest1.orz.at
の証明書が使われてしまうことに。
証明書を消すことも出来ないので、サイトそのものの定義を削除して、作り直しました。
(DNSの設定はNetlify管轄にしないで、CNAME指定でやってました)
Redirectの設定
{site}.netlify.com
でアクセスしたらblog.orz.at
に飛ばしたい。
Origin的なサイトが見えちゃうと、コピーサイトに見えそうだし。そもそも複数のドメインからアクセスできちゃうの嫌。
ここを見ると、redirectの設定ができます。テストはここで確認できます。
というわけで、以下の設定を追加。
http://tamtam180-blog.netlify.com/* https://blog.orz.at/:splat 301! |
そして、今もハマってる最中。
Hexoの設定でgenerateした時に、_redirects
が対象外になっていました。設定ファイルに次を追加。参考
include: |
できた
custom domainへ移動するようになりました。
$ curl -I "https://tamtam180-blog.netlify.com/" |