カスタムドメインの証明書の更新が失敗していた
このブログ(GitHub Pages)では、カスタムドメインを Cloudflare 経由で運用しています。
ある日アクセスしてみると、526 エラーが表示されていました。どうやら SSL 証明書の更新に失敗していたようです。
原因は、Cloudflare の DNS 設定でした。
Cloudflare で DNS レコードを「Proxy」モードにすると、Cloudflare がオリジンサーバーとの間に入り、CDN やセキュリティ機能などを提供してくれます1。
ただし、GitHub Pages は Let’s Encrypt を利用して自動的に SSL 証明書を発行しています2。
その際に必要な ACME チャレンジ(認証処理)が Cloudflare に遮られ、証明書の更新が失敗していたようです。
思い返せば、カスタムドメインを設定した後に、「DNS only」から「Proxy」へ切り替えていたかもしれない🤔
ということで、Cloudflare の設定を一時的に「DNS only」に戻し、無事証明書を更新できました。
Let’s Encrypt の証明書は有効期限が 90 日なので、90 日ごとに設定を切り替えて更新するという手もありますが、正直面倒です。
ブログ程度の用途なら、ずっと DNS only のままでも十分かなという気もします。