どこにでもいるような普通の一般人が、たまに自分用メモを書いてる。

メモ置き場を Netlify から Cloudflare Pages に移転した

日付:

これまで本サイトは Netlify に収容してきたが、このたび Cloudflare Pages に移転した。
Netlify は無料プランの場合、日本からのアクセスはシンガポールのサーバーで受けるが、Cloudflare Pages なら日本国内のサーバーで受けてくれるので。

本サイトは生成に Hugo を使用し、電力料金比較表だけは PHP (php-cli) で Hugo 用のソースを出力するという変則的な構成だが、Cloudflare Pages でも何一つ変更することなくこなしてくれている。

Cloudflare DNS を使わず、DNS CAA レコードを使っている場合の注意点

ここだけ少し引っかかった。

  • そのドメイン名 (仮に example.com とする) で Cloudflare DNS ではなく外部の DNS サーバーを使っている
  • host.example.com を CNAME で example.pages.dev に向けている
  • DNS CAA レコードで SSL 証明書を発行できる認証局を指定している
  • その認証局に Cloudflare が利用している認証局が含まれていない

という条件を満たす場合に、CNAME レコードを設定しただけでは Active にならず、Inactive (Error) になってしまう。
自前の DNS と Let’s Encrypt を使っている場合が該当する。
Cloudflare Pages では Cloudflare 発行の SSL 証明書を使うことになっているので、それが発行できる状態でないとダメ、というわけだ。

そのため一度 Remove domain し、Cloudflare が SSL 証明書を発行できるように CAA レコードを追加する必要がある。

example.com.	IN	CAA	0 issue "digicert.com"
example.com.	IN	CAA	0 issue "comodoca.com"

レコードは Cloudflare の説明による。
Cloudflare DNS では issuewild も設定されるが、Cloudflare Pages に本サイトを収容する際には必要なかった。


(2024/10/14 追記)

現時点で必要なのは以下の模様。

example.com.	IN	CAA	0 issue "comodoca.com"
example.com.	IN	CAA	0 issue "digicert.com; cansignhttpexchanges=yes"
example.com.	IN	CAA	0 issue "letsencrypt.org"
example.com.	IN	CAA	0 issue "pki.goog; cansignhttpexchanges=yes"
example.com.	IN	CAA	0 issue "sectigo.com"
example.com.	IN	CAA	0 issue "ssl.com"
comments powered by Disqus