Cloudflareとオリジン間のSSL/TLS設定(Off、Flexible、Full、Full (strict))は、「ルートドメインごとに1つ」というイメージが強い(気がする。実際自分は今までそうでした)ルートドメインのSSL/TLSメニューに代表的にこれが表示されるので、そうだと思い込んでいた。
このため、サブドメインに複数の種類のオリジンを抱えている場合、全てのオリジンでSSL/TLS設定を同じにすることが義務付けられている印象があって、「このオリジンだけはFlexibleじゃないと成り立たないんだよな…」というようなケースに対応できないと思い込んでいた(そういう場合は新たにルートドメインを1個別に買うしかないと思ってた)
が、そういうわけでもない。よく探せば普通にあったんだが、「Rules>Page Rules」において、対象のURLパターンを入力の上、「Pick a Setting (required)」から「SSL」を選択し、ルートドメインの設定とは異なる設定を選択することで、そのURLパターンだけはSSL/TLS設定を上記の設定から別の設定に上書きできる。以下の例だと、ルートドメインにおける基本的な設定は「Full」だが、
Page RuleでURLを指定して「Flexible」にすると、このURLの/*
配下のアクセスではFlexibleで動作するように設定できる。
実際、これで、あるルートドメインにおいて、Full+Flexibleの異なるオリジンの運用が出来ている。
ただ、Page Ruleには設定できる数に制限がある(例えばFree Planだと最大で3つまでしか設定できない)。Page Ruleには他にも色々有用なものがあり、SSL設定だけで1つ消費するのも勿体ない気もしてくる。この制限はお金払うと追加できるのだが(Page Rulesの最初の画面に追加購入のためのリンクがご丁寧に設けられている)、
ってかんじで最安でも5ルールの追加が必要になり、かつ追加した場合は毎月+$5の追加費用が発生する。そう考えると年間で1000円程度のドメインを新たに買ったほうが安い気もしてくる。まあ運用次第なので一概には言えないが。
とりあえずSSL/TLS設定はドメイン事じゃなくても設定できるんだよというメモだった。