オリジンへの接続

オリジンサーバーとの通信を行うには、ホストを追加および編集します。

ホストの追加

ホストを追加するには、次の手順に従ってください。

  1. Fastly コントロールパネルにログインします。
  2. All services ページから、該当するサービスを選択します。検索ボックスを使用して ID、名前、またはドメインで検索することができます。
  3. Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。ドメインページが表示されます。
  4. Origins をクリックします。Origins ページが表示されます。
  5. Create a host ボタンをクリックします。Hosts フィールドが表示されます。

    Create a host

  6. Hosts フィールドにはオリジンサーバーのホスト名または IP アドレスを入力します。ホスト名を入力すると、トランスポート・レイヤー・セキュリティ (TLS) が自動的に有効化され、ポート443が割り当てられます。 IP アドレスを入力すると TLS が無効化され、ポート80が割り当てられます。
  7. Add をクリックしてホストを追加します。

ホストの編集

ホストを作成した後、次の手順に従ってホストの詳細を編集できます。

  1. Hosts エリアで、編集するホストの隣にある鉛筆アイコンをクリックします。Edit this host ページが表示されます。

    Edit this host ページ

  2. 以下のように Edit this host 設定画面の各フィールドに入力します。

    • Name フィールドに、サーバー名を入力します (例 : My Origin Server)。この名前は Fastly コントロールパネルに表示されます。
    • Address フィールドに、オリジンサーバーの IP アドレス (またはホスト名) を入力します。

    ホスト名の詳細については、証明書ホスト名と SNI ホスト名の値の違いを理解する を参照してください。

    トランスポート・レイヤー・セキュリティ (TLS)

  3. トランスポート・レイヤー・セキュリティ (TLS) エリアは、次のように入力します。

    • Enable TLS? は、Fastly とオリジンの接続のセキュリティを保護するために TSL を有効化する場合は、デフォルトの Yes のままにします。TLS を有効化するには、オリジンサーバーに有効な SSL 証明書をインストールし、ファイアウォールのポート443 (または指定されたポート) を開く必要があります。TLS を使用しない場合は No を選択してください。
    • Verify certificate? は、TLS 証明書の真正性を検証する場合は、デフォルトの Yes に設定します。No を選択すると証明書は検証されません。

    • Certificate Hostname フィールドに TLS 証明書に紐付くホスト名を入力してください。入力する値は、発行された証明書にあるコモンネーム (CN) もしくはサブジェクトの別名 (SAN) のどちらかと一致している必要があります。詳細については、証明書ホスト名と SNI ホスト名の値の違いを理解する ガイドを参照してください。
  4. 以下のように Create a host の残りのフィールドに入力します。

    • Shielding メニューから、シールド機能を有効化するために POP をオプションで選択します。詳細については、オリジンシールドに関するガイドを参照してください。
    • Health check メニューから、オリジンサーバーのヘルスチェックをオプションで選択します。詳細については、ヘルスチェックの使用のガイドを参照してください。
    • Auto load balance メニューから、オプションで Yes を選択してオリジンサーバーのロードバランシング機能を有効化します。詳細については、ロードバランシングガイドを参照してください。
    • ロードバランサーを有効化する場合、Weight フィールドに重さを入力します。
  5. Advanced options リンクをクリックすると、オプションフィールドを変更できます (任意)。
    • Maximum connection フィールドにバックエンドの接続最大数をオプションで入力します。オリジンを過負荷から保護するために、1キャッシュノードあたりの接続はデフォルトで200に制限されています。
    • Error threshold フィールドに、オリジンがダウンしたとみなされる前に許容されるエラー数をオプションで入力します。
    • オプションで Connection timeout フィールドに、接続タイムアウトまでどのくらい待機するかをミリ秒単位で入力します。デフォルトは1000ミリ秒です。
    • オプションで First byte timeout フィールドに、ファーストバイトタイムアウトまでどのくらい待機するかをミリ秒単位で入力します。デフォルトは15000ミリ秒です。
    • Between bytes timeout フィールドに、バイト間の待機期間をミリ秒単位で入力します (オプション)。デフォルトは 10000ミリ秒です。
  6. Override host フィールドに、使用しているオリジンに基づいて、オーバーライドホストヘッダーのホスト名をオプションで入力します。このフィールドの値は、グローバルオーバーライドホストを使用して設定した値よりも優先されます。例えば、次のようにします。

    • Amazon S3 をオリジンとして使用する場合、<BUCKET>.s3.<REGION>.amazonaws.com を入力します。
    • Google Cloud Storage をオリジンとして使用する場合、<your bucket name>.storage.googleapis.com を入力します。
  7. Update ボタンをクリックします。新しい上書きホストは、Override host セクションのShow all details フィールドに表示され、コードブロックが VCL のオリジン定義に追加されて、次のようになります。

    1
    2
    3
    4
    5
    6
    
    Backend F_Host_1 {
       .host = "..."; # IP or hostname
       .host_header = "example.com";
       .always_use_host_header = true;
        ...
    }
    
  8. Activate ボタンをクリックして設定変更をデプロイします。

これで完了です。他のすべてはオプションですが、設定したい場合のために、下記の情報を記載しておきます。

TLS ホスト名 の設定

通常、Fastly によって Create a host ウィンドウに入力されたオリジンのアドレスのホスト名部分とサーバー証明書が照らし合わされます。証明書のチェックは、オリジンの TLS 設定の Certificate Hostname フィールドの値を使用して行われます。Fastly による証明書の検証において異なるホスト名を使用したい場合は、Advanced options の下にある SNI Hostname フィールドで指定してください。

この情報は、TLS ハンドシェイクの際にサーバーにも送信されます。オリジンに複数の証明書を配置するために Server Name Indication (SNI) を使用している場合、SNI Hostname フィールドに指定した証明書が使用されます。

証明書ホスト名と SNI ホスト名の値の違いを理解する

証明書と SNI ホスト名の値の違いは以下のとおりです。

証明書ホスト名 (ssl_cert_hostname)。このホスト名は、オリジンの証明書を検証します。これは常に必須です。この値は、証明書のコモンネーム (CN) または利用可能なサブジェクトの別名 (SAN) と一致する必要があります。VCL には ssl_cert_hostname として表示されます。SNI 証明書に影響が及ぶことはありません。この値は、TLS options ページの Certificate hostname フィールドで設定できます。

SNI ホスト名 (ssl _sni_hostname)。このホスト名は、TLS ハンドシェイクにどの証明書を使用すべきかを決定します。SNI は一般的に、オリジンが Amazon S3 などの共有ホストを使用している場合、またはオリジンで複数の証明書を使用している場合にのみ必要です。SNI は、接続にどの証明書を使用するかをオリジンサーバーに伝えます。この値は、VCL に ssl_sni_hostname として表示されます。証明書の検証に影響が及ぶことはありません。

下表には、TLS の設定での証明書と SNI ホスト名値の設定と、その結果が示されています。

証明書ホスト名に次の値と… SNI ホスト名に次の値が含まれている場合 : 証明書検証の値 SNI の値
www.example.com なし www.example.com なし
www.example.com www.example.org www.example.com www.example.org

ssl_hostname 値について (非推奨)。ssl_hostname 値は使用停止となり、代わりに ssl_cert_hostname と ssl_sni_hostname が導入されました。代わりにこれら2つの値を使用してください。

ワイルドカード証明書の使用

ワイルドカード証明書を使用する場合、ワイルドカード証明書と一致する任意の SNI ホスト名が使用できます。SNI ホスト名は、RFC 6066 に準拠した完全修飾ドメイン名 (FQDN) である必要があります。

下表には、*.example.com のワイルドカード証明書で使用可能な証明書と SNI ホスト名のさまざまな組み合わせが示されています。

証明書ホスト名 SNI ホスト名
www.example.com www.example.com
live.example.com live.example.com
*.example.com www.example.com

証明書ホスト名を *.example.com に指定した場合、Fastly はそれをリテラルとして処理します。

TLS CA 証明書の指定

自己署名された証明書や、主要ブラウザでは一般的に認識されていない認証局 (CA) によって署名された (Fastly が使用している Ubuntu バンドルには含まれていない可能性が高い) 証明書を使用している場合でも、**TLS CA certificate ** フィールドで PEM 形式の証明書を提供することができます。PEM 形式は次のようになります。

PEM フォーム証明書

TLS クライアント証明書とキーの指定

オリジンへの TLS 接続が Fastly からのものであり、ランダムな匿名のリクエストではないことを保証するために、クライアント証明書を使用してクライアントを検証するようオリジンを設定します。PEM 形式の証明書とプライベートキーを、TLS options ページの適切なテキストボックスに貼り付けるだけです。

その後、クライアント証明書を必要とするバックエンドを構成し、署名済みの CA 証明書に対して検証します。その手順には次のようなものがあります。

許容可能な TLS プロトコルバージョンの指定

オリジンサーバーが TLS プロトコルの最新バージョンをサポートするように設定されている場合、Advanced optionsMinimum TLS VersionMaximum TLS Version を設定することで、Fastly が接続に使用する TLS プロトコルをカスタマイズすることができます。オリジンが対応可能な場合は、両方とも最新の TLS プロトコル (現在は1.3) に設定することをお勧めします。

指定したバージョンの TLS プロトコルをオリジンがサポートしているかを確認するには openssl コマンドを使用します。例えば、次のようにします。

openssl s_client -connect origin.example.com:443 -tls1_3

他のプロトコルバージョンをテストするには -tls1_3tls1_2tls1_1tls1_0 に置き換えます。Fastly は SSLv2 または SSLv3 に対応していません。

許容可能な TLS 暗号スイートの指定

Fastly は、オリジンサーバーに接続する際に使用される OpenSSL 暗号スイートの設定をサポートしています。これにより、セキュリティプロパティとオリジンサーバーのサポートに基づいて特定の暗号スイートを有効化することができます。Advanced options にある Ciphersuites 設定は、OpenSSL 形式の暗号リストを受け入れます。Mozilla SSL Configuration Generator の詳細に従って、オリジンがサポートする最強の暗号スイートを使用することをお勧めします。

オリジンが指定された暗号スイートをサポートしているかを確認するには openssl コマンドを使用します。例えば、次のようにします。

openssl s_client -connect origin.example.com:443 -tls1_2 -cipher ECDHE-RSA-AES128-GCM-SHA256

テストするには -cipher ECDHE-RSA-AES128-GCM-SHA256 を暗号スイートに置き換えます。

Back to Top