HTTPS リダイレクトの強制

お客様のサイトで HTTPS 接続のみを許可する場合、Fastly を使用して暗号化されていないリクエストを Transport Layer Security (TLS) プロトコルに強制することができます。TLS を強制すると、暗号化されていないリクエストはすべて Webサイトに 301 Moved Permanently レスポンスを返し、TLS に相当するものにリダイレクトします。例えば、http://www.example.com のリクエストは https://www.example.com にリダイレクトします。

リクエストは HTTP 経由でも先に発生する可能性があるため、TLS リダイレクトを強制しても、Fastly を使用して HTTP Strict Transport Security (HSTS) を有効にすることは可能です。有効にすると、HSTS はその URL に以前アクセスしたことがある限り、ブラウザが HTTPS URL (通常はステータスコード 307) にリダイレクトするように強制されます。

Fastly では、同時に TLS を強制して HSTS を有効化できる設定を提供しています。あるいは、よりコントロールを強化するために、手動で TLS リダイレクトを強制して から HSTS を有効にすることもできます。

前提条件

これらの手順は、Fastly で TLS サービスが設定済みであることを前提としています。

TLS の強制と HSTS の有効化

サービス設定を使用して TLS を強制し、HSTS を有効化するには、以下の手順に従ってください。

注意

以前のバージョンの Force TLS オプションを使用して有効にしたサービスでは、一時的に古いテスト期間が表示されることがあります。推奨される新しいテスト期間を選択すると、この古いオプションは表示されなくなります。

  1. Fastly コントロールパネルにログインします。
  2. Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
  3. Edit configuration をクリックし、アクティブなバージョンをクローンするオプションを選択します。
  4. Settings をクリックします。
注意

条件なしのリクエスト設定で Force TLS が有効になっている場合、VCL のロジックで競合が発生する可能性があります。既存のリクエスト設定を削除するか、条件を追加して修正してください。

  1. Force TLS and enable HSTS スイッチをクリックし、サービスにて TLS を強制し、HSTS を有効にします。

    新たな HSTS 設定

    TLS を強制するためのリクエスト設定と HSTS を有効にするヘッダーが自動的に作成されます。

  2. Activate をクリックして設定への変更をデプロイします。
警告

この設定をグローバルにホストを上書きする設定と一緒に有効にすると、問題が発生することがあります。グローバルにホストを上書きする設定を有効にする代わりに、新しいリクエスト設定を作成し、詳細オプションでホストの上書きを指示します。

手動での HTTPS リダイレクトの強制

手動で HTTPS リダイレクトを強制するには、TLS を強制するリクエスト設定を作成し、HSTS を有効にするヘッダーを追加する必要があります。

TLS の強制

手動で TLS を強制するには、以下の手順で新しいリクエスト設定を作成します。

  1. Fastly コントロールパネルにログインします。
  2. Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
  3. Edit configuration をクリックし、アクティブなバージョンをクローンするオプションを選択します。
  4. Settings をクリックします。
  5. Create request setting クリックします。

    Create a request setting ウィンドウ

  6. 以下の要領で Create a request setting フィールドに入力します。

    • Name フィールドに、分かりやすいリクエスト設定の名称を入力します。この名前は Fastly コントロールパネルに表示されます。
    • Force TLS メニューから Yes を選択します。
  7. Create をクリックしてリクエスト設定の変更を保存します。

  8. Activate をクリックして設定への変更をデプロイします。

HSTS の有効化

手動で TLS リダイレクトを強制したあとで、以下の手順で新しいヘッダーを追加して HSTS を有効にします。

  1. Content をクリックします。
  2. Create header をクリックします。

    HSTS 設定が表示された新しいヘッダーウィンドウ

  3. 以下の要領で、Create a header ページの各フィールドに入力します。

    • Name フィールドに、HSTS などの分かりやすい名前を入力します。この名前は Fastly コントロールパネルに表示されます。
    • Type メニューから Response を選択し、Action メニューから Set を選択します。
    • Destination フィールドに http.Strict-Transport-Security と入力します。
    • Source フィールドに "max-age=<max age in seconds>" と入力します。例えば "max-age=31536000" などです。後述するように、max-age は必須です。また、HSTS オプションを2つ追加指定することができます。
    • Ignore if set メニューと Priority フィールドの設定はデフォルトのままにしておきます (または、お客様のサービスに合わせて適切に設定してください)。
  4. Create をクリックします。

  5. Activate をクリックして設定への変更をデプロイします。

HSTS のオプション

HSTS ヘッダーを手動で設定した場合は、追加の HSTS オプションを指定することができます。

HSTS では、正しく機能するために max-age ディレクティブを設定する必要があります。現在のドメインが HTTPS のみでアクセス可能であることを記憶する時間を、秒単位で指定します。上記の例は、max-age を1年に設定しています (31,536,000秒 = 1年)。例の値よりも小さな値で試してみるとよいでしょう。

HSTS レスポンスヘッダーでは2つの追加オプションを指定できます。

  • includeSubdomains - このトークンは、お客様のサイトのすべてのサブドメインに HSTS を適用します。これを追加する前に、お客様のサブドメインの中にブラウザから HTTP の機能を要求されるものがないことを確認してください。TLS 証明書がワイルドカードであること、または存在し得るすべてのサブドメインを証明書がカバーしていることを確認してください。
重要

includeSubdomains が有効になると、HSTS ヘッダーを読み込んだブラウザは、すべてのサブドメインに HTTP でアクセスできなくなります。

  • preload - このトークンを使用すると、主要ブラウザにプリロードされた HSTS リストにお客様のドメインを登録することができます。このトークンは HSTS の仕様に含まれませんが、ヘッダーにトークンを含めることは、このプリロードリストに登録するための前提条件です。
警告

HTTPS の長期的なサポートが確実ではない場合は、ブラウザにプリロードの追加を要求しないでください。HSTS プリロードリストへの追加は簡単に取り消すことができません。登録手順および詳細については、https://hstspreload.org/ を参照してください。

Source フィールドでこれらのオプションをすべて組み合わせると、次のようになります。

"Strict-Transport-Security: max-age=<max age in seconds>; includeSubDomains; preload"

何らかの理由で HSTS を無効にする必要がある場合は、HTTPS 接続の max-age0 に設定します。


翻訳についての注意事項
このガイドは役に立ちましたか?

このフォームを使用して機密性の高い情報を送信しないでください。サポートが必要な場合は、サポートチームまでご連絡ください。このフォームは reCAPTCHA によって保護されており、Google のプライバシーポリシー利用規約が適用されます。