4-4 必ず封をする(Always Use HTTPS・Minimum TLS・HSTS)

身分証(証明書)がそろっても、お客さんがはがき(http)で来たら、その往復は読まれてしまいます。窓口(Cloudflare)は「この封筒に入れて出し直してください」と案内します。
いま読んでいるこのサイト(Cloudflare Lab)でも、http:// で開かれたら https:// へ送り直したい。この節はそのための三つの設定です。
ここでは、出し直しの案内、古い封筒の断り方、覚えてもらう仕組み、その注意の順に見ます。
Learning goals
この節でできるようになること
- Always Use HTTPS が何をするかを説明できる
- Minimum TLS Version の役割を説明できる
- HSTS が何を防ぎ、なぜ戻しにくいかを説明できる
- 三つを設定する順番と注意点を言える
1. 封筒で出し直してもらう(Always Use HTTPS)
Section titled “1. 封筒で出し直してもらう(Always Use HTTPS)”はがきで来たお客さんに、その場で封筒を渡して「これに入れて出し直してください」と案内します。本社(origin server)側に案内係を置く必要はありません。
Cloudflare では、この案内を Always Use HTTPS と呼びます。公式は「すべての subdomain とホストについて、訪問者の http の要求を https へリダイレクトする」と書いています。本社側でリダイレクトを設定する必要はありません。
実物では、encryption mode が Off でないことを確かめてから、Edge Certificates の画面でオンにします。

はがきで来たお客さんが、封筒に入れ直して同じ窓口へ出し直しています。案内するのは窓口なので、本社は関係しません。
つまり、Always Use HTTPS は「http で来たら https へ送り直す」設定です。
2. 古い型式の封筒を断る(Minimum TLS Version)
Section titled “2. 古い型式の封筒を断る(Minimum TLS Version)”封筒にも型式があります。古い型式の封筒は開けやすく、守りになりません。窓口は「この型式以上の封筒だけ受け付けます」と決められます。
Cloudflare では、この決まりを Minimum TLS Version と呼びます。公式は、指定した版以上の TLS に対応する訪問者だけ接続を許す設定で、TLS 1.0・1.1・1.2・1.3 から選べると書いています。Free plan でも使えます。
実物では、Edge Certificates の画面で選びます。古い端末を切り捨てる設定でもあるので、対象のお客さんを考えて決めます。

古い型式の封筒は窓口で断られ、新しい型式だけが通ります。断る境目を自分で決めます。
つまり、Minimum TLS Version は「受け付ける封筒の型式の下限」です。
3. 「この店には必ず封筒で」と覚えてもらう(HSTS)
Section titled “3. 「この店には必ず封筒で」と覚えてもらう(HSTS)”出し直しの案内は毎回起きます。最初の 1 通だけでも、はがきが途中で読まれたり、偽の窓口へ案内されたりする隙があります。そこで、お客さんに「この店には今後必ず封筒で」と覚えてもらいます。
Cloudflare では、この仕組みを HTTP Strict Transport Security(HSTS) と呼びます。公式は、HSTS は HTTPS のサーバーを downgrade attack(封を外させる攻撃)から守り、ブラウザに http のリンクを https に変え、証明書の警告を無視させない指示を出すと書いています。
実物では、Edge Certificates の画面で Enable HSTS を選び、注意文を読んで同意し、Max Age(覚えている期間)などを設定します。公式の推奨は Max Age を 1〜12 か月です。

お客さんが自分の手帳に「この店は必ず封筒で」と書き留めます。次からは、はがきを出そうとしても自分で封筒に入れ直します。
つまり、HSTS は「お客さん側に封筒を覚えてもらう」仕組みです。
4. 順番と注意
Section titled “4. 順番と注意”覚えてもらった後で窓口が封筒を受け付けなくなると、お客さんは「封筒でしか出せないのに、その封筒が受け付けられない」状態になり、店とやり取りできなくなります。
公式は強く警告しています。HSTS を無効にする前、または Max Age の期間が過ぎる前に HTTPS をやめると、サイトにアクセスできなくなる、と。避けるべき操作として、DNS を proxied から DNS-only へ変える、Cloudflare を一時停止する、nameserver を変える、HTTPS を HTTP へリダイレクトする、SSL を無効にする、が挙げられています。
実物では、順番は「HTTPS が動いている(4-2)→ Always Use HTTPS(4-4 の 1)→ 様子を見て HSTS」です。HSTS は最後に、戻す予定が無いことを確かめてから入れます。

三段の階段です。一番上の HSTS に上がると、下に降りるには覚えてもらった期間が過ぎるのを待ちます。
つまり、HSTS は「戻さない」と決めてから入れる設定です。
Cloudflare Lab での使われ方
Section titled “Cloudflare Lab での使われ方”ここで紹介した三つの設定が、いま読んでいる Cloudflare Lab でどう使われるかを見ます。
Cloudflare Lab は、店名の看板を掛けた翌日(2026-08-28)に Always Use HTTPS をオンにしました。オンにする前は http://clf.cloud-labos.com/ がそのまま 200 で返っていました(2026-08-27 の実測。はがきのまま受け付けていた状態)。オンにした後、同じ住所を curl -sI で見るとこうなりました。
- 返事
- HTTP/1.1 301 Moved Permanently
- location
- https://clf.cloud-labos.com/
- server
- cloudflare
- cf-ray
- a320eac6bd6f006c-KIX
恒久的な送り直し
封筒で出し直す先
案内したのは窓口。本社は関係しない
深い階層(http://clf.cloud-labos.com/phase-1/ch04/04-always-https/)も同じく 301 で、location は同じ path の https:// でした。本社側(Worker)には何も足していません。
同じ日に Minimum TLS Version を TLS 1.2 にしました。手元のパソコンから、封筒の型式を一つずつ名乗って窓口に出してみた結果です(openssl s_client の -tls1 / -tls1_1 / -tls1_2 / -tls1_3。古い型式はパソコン側でも既定で禁止されているので、-cipher 'DEFAULT:@SECLEVEL=0' で一時的に許して試しました)。
- TLS 1.0
- alert protocol version
- TLS 1.1
- alert protocol version
- TLS 1.2
- 200
- TLS 1.3
- 200
窓口が「その型式は受け付けない」と返して断った
同じく断られた
ECDHE-ECDSA-CHACHA20-POLY1305 で通った
何も指定しなければこれで繋がる(AEAD-AES256-GCM-SHA384)
1.0 と 1.1 だけが alert protocol version(型式が古いという断りの札)で止まり、1.2 以上は通りました。境目が設定どおり 1.2 にあることの確認です。
最後に HSTS をオンにしました。管理画面が勧めていた Max Age の 6 か月(公式の推奨範囲 1〜12 か月の中)をそのまま採り、Include subdomains と Preload はオフのままです。オンにした後の返事の情報欄にはこの 1 行が増えました。
- strict-transport-security
- max-age=15552000
15,552,000 秒 = 180 日 = 6 か月。お客さんの手帳に書かれる期間
これで、いちど https で来たお客さんのブラウザは、2027-02 まで http://clf.cloud-labos.com/ を自分で https:// に書き換えてから出します。4 の注意のとおり、この期間は HTTPS をやめられません(やめる予定もありません)。
つまずきやすいところ
Section titled “つまずきやすいところ”この節のまとめ
Section titled “この節のまとめ”- Always Use HTTPS は http を https へ送り直し、本社側の設定は不要です(Cloudflare Lab では 301 と
location: https://…を実測)。 - Minimum TLS Version は受け付ける封筒の型式の下限です(Cloudflare Lab は 1.2。1.0 / 1.1 が
alert protocol versionで断られることを実測)。 - HSTS はお客さん側に封筒を覚えてもらう設定で、戻しにくいので最後に入れます(Cloudflare Lab は Max Age 6 か月 =
max-age=15552000を実測)。
この節で出てきた言葉を、つながりの順に並べると次のようになります。
図のラベル: HTTPS が動いている / 封筒で出し直してもらう Always Use HTTPS / 古い封筒を断る Minimum TLS Version / 必ず封筒と覚えてもらう HSTS / 戻しにくい Max Age 1〜12 か月
次の章では、封の次に「速さ」を扱い、窓口の棚(キャッシュ)の決まりを整えます。
この節のチェック
© 2026 osdse