Tech For You

CloudflareでwwwサブドメインにあるブログをHSTS Preloadに対応させる

World Administrator
2023年11月23日
2 分で読めます
Blog SettingsCloudflare
Photo by JJ Ying / Unsplash

HTTPS接続を初回から強制する仕組みをwww階層にあるブログに適用する方法です。

用語整理

  • Apex ドメイン: あなたのドメインexample.comのことです。
  • サブドメイン: あなたのドメインのApexドメイン以下の階層のことです。ここではwww.example.comを指します。
  • リダイレクト: 特定のURLをほかのURLに転送することです。
  • 常時SSL/TLS化: 常にHTTPS接続にするということです。CloudflareではAlways use HTTPSという機能で有効化できます。HSTSは二度目以降の接続に対してHTTPS接続を強制する仕組みです。HSTS Preloadはブラウザーにリストを埋め込むことでHSTSを一度目から強制する仕組みです。
  • DNS: 一言でまとめると、URLをIPアドレスに変換するシステムです。今回ではCloudflareを利用しているとします。
  • ページルール: Cloudflareのリダイレクト機能の一つです。Cloudflareでは要件に応じて、様々なリダイレクトルールを設定することができます。今回はページルールを利用して設定していきます。

手順

  1. ブログの名前解決に利用するDNSにCloudflareを利用します。
    1. ブログのサーバーがIPv4を利用している人は、AレコードのNamewwwを、IPv4 AddressにあなたのブログのIPv4アドレスを入力してください。
    2. ブログのサーバーがIPv6をサポートしている人は、AAAAレコードのNamewwwを、IPv6 AddressにあなたのブログのIPv6アドレスを入力してください。
  2. HTTPS接続を強制します。つまりあなたのドメインに対するHTTP接続は強制的にHTTPS接続のものにリダイレクトされます。
    1. SSL/TLSからEdge Certificationに移動します。
    2. Always Use HTTPSをオンにします。
    3. Automatic HTTPS Rewritesをオンにします。
  3. HSTSを設定します。
    1. 同じくSSL/TLSEdge Certificationから設定をします。
    2. HTTP Strict Transport Security (HSTS)から設定をします。
    3. Status: On, Max-Age: 12 months, Include subdomains: On, Preload: Onにします。
  4. Apexドメインに対するHTTP接続をHTTPS接続にリダイレクトした後、サブドメインwwwにリダイレクトする設定をします。
    1. DNSでAレコードを設定します。
    2. 適当なAレコードを設定するため、Nameには@を、IPv4 Addressには192.0.2.1を入力します。
      1. これはリダイレクトを設定するためのダミーです。そのため、実際に設定されたIPアドレスへ名前解決されることはありません。
      2. 192.0.2.1は予約済みのIPアドレスであり、どこにも割り当てられていません。このような用途に用いられる、専用のIPアドレスであり、実体はありません。
    3. Rulesから、Page Rulesへ移動します。
    4. Create Rulesから新しいルールを作成します。
    5. URL (required)https://example.com/*を入力します。
      1. example.comはあなたのドメインに置き換えてください。
      2. *は特殊な記号で、任意の文字列が入ります。
      3. $1*で受け取った任意の文字列を代入する場所です。
    6. Pick a Setting (required)ではForwarding URLを選択してください。
    7. Select status code (required)301 - Permanent Redirectを選択してください。
    8. Enter destination URL (required)にはhttps://www.example.com/$1を入力します。
        1. example.comはあなたのドメインに置き換えてください。
      1. 要するに最後に*$1を書き忘れないようにしましょう。
    9. Save Page Ruleから設定を保存してください。
    10. HSTS Preload Listに登録します。
    11. https://hstspreload.org/に移動します。
    12. あなたのApexドメインを入力し、提出します。
    13. 終了です。
HSTS Preload List Submission

参考

Cloudflareコミュニティフォーラム