ご利用のオリジンサーバーが単一の IP アドレスを使用して複数のドメイン名をホストし、オリジンプロトコルが HTTPS である場合は、オリジン SNI を設定する必要があります。これにより、オリジンサーバーはリクエストされたドメインを識別し、正しい SSL 証明書を返し、オリジンフェッチを成功させることができます。
背景情報
サーバ名表示 (SNI) は、SSL/TLS プロトコルの拡張機能です。これにより、サーバーは単一の IP アドレスで複数の SSL 証明書をホストできます。これは、HTTPS サーバーが複数のドメインをホストしている場合に、クライアントがどのドメインをリクエストしているかをサーバーが判別できないという課題を解決します。SNI を有効にすると、CDN のエッジノード (POP) がオリジンサーバーとの TLS ハンドシェイクを開始したときに、オリジンサーバーは TLS ハンドシェイクに含まれる SNI 情報を使用してリクエストされたドメイン名を識別し、正しい SSL 証明書を POP に返します。
-
ご利用のオリジンサーバーは、TLS ハンドシェイクリクエストに含まれる SNI 情報を解析できる必要があります。
-
1 つの高速化ドメイン名に対して複数のオリジンサーバーを設定している場合、オリジン SNI の設定はすべてのオリジンサーバーに適用されます。オリジンサーバーごとに異なる SNI 値を設定したい場合は、チケットを送信してください。
次の図は、オリジン SNI の仕組みを示しています。
オリジン SNI のワークフローは次のとおりです:
-
CDN のエッジノード (POP) が HTTPS 経由でオリジンサーバーにアクセスする際、SNI フィールドにターゲットドメイン (例: example.com) を指定する必要があります。
-
オリジンサーバーはリクエストを受信し、SNI で指定されたドメインの SSL 証明書を返します。この場合、example.com の証明書が返されます。
-
CDN のエッジノード (POP) は証明書を受信し、サーバーとの安全な接続を確立します。
オリジン Host ヘッダーとオリジン SNI は、同じドメイン名 (通常はオリジンサーバーのドメイン名または高速化ドメイン名) に設定することを推奨します。オリジン Host ヘッダー (HTTP Host ヘッダー) とオリジン SNI (TLS ハンドシェイク中に指定されるドメイン名) が一致しない場合 (たとえば、オリジン Host ヘッダーはオリジンサーバーのドメイン名に設定されているが、SNI は高速化ドメイン名に設定されている場合)、SSL ハンドシェイクが失敗したり、オリジンサーバーがエラーを返したりする可能性があります。これらはコンソールで個別に設定し、オリジンサーバーの証明書とバーチャルホストの設定と一致していることを確認してください。
操作手順
-
CDN コンソールにログインします。
-
左側のナビゲーションウィンドウで、ドメイン名 をクリックします。
-
ドメイン名 ページで、対象のドメイン名を見つけ、操作 列の 管理 をクリックします。
-
ドメインのナビゲーションウィンドウで、Back-to-Origin 設定 をクリックします。
-
設定 タブで デフォルト back-to-origin SNI を見つけ、変更 をクリックします。
-
デフォルト back-to-origin SNI ダイアログボックスで、有効化 を有効にし、オリジン SNI に使用するドメイン名 (例: example.com) を入力します。
説明オリジン SNI の値は特定のドメイン名である必要があります。ワイルドカードドメイン名はサポートされていません。
-
OK をクリックします。