このトピックでは、1 つのクラシックロードバランサー (CLB) インスタンスで単一のリスナーを設定し、異なるドメイン名への HTTPS リクエストを異なるバックエンドサーバーにルーティングし、複数の HTTPS ウェブサイトをホストする方法を説明します。
例
CLB インスタンスは HTTPS リクエストのドメイン名を検査し、一致する証明書を選択して認証を完了した後、転送ルールに基づいてリクエストを適切なバックエンドサーバーに転送します。
このトピックでは、次の設定を例として使用します。
-
リスナーのデフォルト証明書
defaultは、ドメイン名aliyundoc.comに関連付けられています。デフォルトサーバーグループは RS1 です。 -
追加証明書
example1は、ドメイン名www.example.comに関連付けられています。https://www.example.comへのリクエストは、サーバーグループ RS1 にルーティングされます。 -
もう 1 つの追加証明書
example2は、ドメイン名www.example.orgに関連付けられています。https://www.example.orgへのリクエストは、サーバーグループ RS2 にルーティングされます。
前提条件
CLB インスタンスが作成されていること。 詳細については、「CLB インスタンスの作成と管理」をご参照ください。
RS1 と RS2 という 2 つの vServer グループが作成されていること。 詳細については、「vServer グループの作成と管理」をご参照ください。
ECS インスタンス ECS01 が RS1 に追加され、別の ECS インスタンス ECS02 が RS2 に追加されていること。 アプリケーションサービスが ECS01 と ECS02 の両方にデプロイされていること。
ドメイン名を登録し、ICP 备案を完了していること。 詳細については、「Alibaba Cloud でのドメイン名の登録」および「ICP 备案プロセス」をご参照ください。
証明書管理サービスにサードパーティプロバイダーから証明書を購入またはアップロードし、それぞれのドメイン名にバインドする必要があります。 詳細については、「公式証明書を使用した Web ベースサービスの HTTPS アクセスの有効化」をご参照ください。 このトピックでは、次の証明書が必要です:
ドメイン名
aliyundoc.comにバインドされている、defaultという名前のデフォルト証明書。ドメイン名
www.example.comにバインドされているexample1という名前の証明書。ドメイン名
www.example.orgにバインドされた、example2という名前の証明書。
説明証明書を使用する前に、CLB インスタンスにデプロイする必要があります。 詳細については、「証明書の作成」をご参照ください。
ステップ1:HTTPS リスナーの追加
CLB コンソールにログインします。
上部メニューで、CLB インスタンスが配置されているリージョンを選択します。
インスタンス管理 ページで、対象の CLB インスタンスを見つけ、操作 列の リスナーの設定 をクリックします。
プロトコルとリスナー タブで、次のパラメーターを設定し、次へ をクリックします。
このトピックでは、必須のパラメーターのみを説明します。 他のパラメーターは、デフォルト値のままにするか、必要に応じて設定できます。
リスナープロトコルの選択:HTTPS を選択します。
リスナーポート:ポートを 443 に設定します。
SSL 証明書 タブで、アップロードされたサーバー証明書を選択し、次へ をクリックします。この例では、
default証明書を選択します。バックエンド サーバー タブで VServer Group を選択し、サーバーグループ ドロップダウンリストから RS1 を選択します。
他のパラメーターはデフォルト値のままにし、確認ステップに達するまで 次へ をクリックします。 次に、送信 をクリックします。
ステップ2:追加ドメイン名の追加
インスタンス管理 ページで、対象の CLB インスタンスを見つけ、対象のインスタンス ID をクリックします。
リスナー タブで、作成した HTTPS リスナーを見つけます。 操作 列で、
アイコンをクリックし、ドメイン拡張子の管理 を選択します。ドメイン拡張子の管理 パネルで、ドメイン拡張子の追加 をクリックします。
追加の証明書 には、
www.example.comを入力します。サーバー証明書の選択 ドロップダウンリストから、www.example.comに関連付けられている証明書を選択し、OK をクリックします。追加の証明書 に
www.example.orgを入力します。サーバー証明書の選択 ドロップダウンリストから、www.example.orgに関連付けられている証明書を選択し、OK をクリックします。
説明証明書内のドメイン名が、追加するドメイン名と完全に一致することを確認してください。
ステップ3:転送ルールの設定
インスタンス管理 ページで、対象の CLB インスタンスの ID をクリックします。
リスナー タブでリスナーを見つけ、転送ルールの設定 列の 操作 をクリックします。
ルール パネルで、転送ルールを追加します。
この例では、ドメイン名に基づく転送ルールのみが設定されています。 URL 設定は構成されていません。
ドメイン 列に
www.example.comを入力し、vServer グループ RS1 を選択して、さらに追加 をクリックします。ドメイン 列に
www.example.orgを入力し、vServer グループ RS2 を選択してから、さらに追加 をクリックします。
転送ルールを設定した後、ルール パネルを閉じます。
ステップ4:ドメイン名前解決の設定
www.example.com と www.example.org が CLB インスタンスのパブリック IP アドレスを指すように、A レコードを追加します。
CLB コンソールにログインします。
上部メニューで、リージョンを選択します。
名前解決を設定する CLB インスタンスを選択し、対応するパブリック IP アドレスをコピーします。
A レコードを追加するには:
Alibaba Cloud DNS コンソール にログインします。
インターネットの権威ある DNS 解決 ページで、ドメイン名の追加 をクリックします。
ドメイン名の追加 ダイアログボックスで、ドメイン名を入力し、OK をクリックします。
重要TXT レコードを使用してドメインの所有権を確認してください。
管理するドメイン名を見つけ、解決設定 列の Actions をクリックします。
解決設定 ページで、Add Record をクリックします。
Add Record パネルで、次のパラメーターを設定して A レコードを追加し、OK をクリックします。
パラメーター
説明
[レコードタイプ]
ドロップダウンリストから [A] を選択します。
[ホストレコード]
ドメイン名のプレフィックスです。
[Query Source]
[デフォルト] を選択します。
[レコード値]
レコード値は、コピーした CLB インスタンスのパブリック IP アドレスです。
TTL
Time to Live (TTL) 。 DNS レコードが DNS サーバーにキャッシュされる時間を指定します。 この例では、デフォルト値を使用します。
ステップ5:結果の検証
設定完了後、ブラウザで https://www.example.com と https://www.example.org を入力し、転送ルールが正しく機能することを確認します。この例では、各バックエンドサーバーにシンプルな静的ウェブページがデプロイされていることを前提としています。
-
ブラウザで
https://www.example.comを入力します。リクエストはサーバーグループ RS1 の ECS01 にルーティングされます。ページにはHello World ! This is ECS01.と表示されます。 -
ブラウザで
https://www.example.orgを入力します。リクエストはサーバーグループ RS2 の ECS02 にルーティングされます。ページにはHello World ! This is ECS02.と表示されます。
テストが失敗した場合は、ブラウザキャッシュをクリアして再度テストしてみてください。
関連ドキュメント
同一ドメイン名の異なる URL パスへのリクエストを異なるバックエンドサーバーグループに転送するには、「同一ドメイン名でパスが異なる転送ルールを使用して、正確なトラフィック転送を実現する」をご参照ください。
ドメイン名または URL に基づく転送ルールの詳細については、「ドメイン名または URL に基づくリクエストの転送」をご参照ください。
拡張ドメインの完全な設定手順については、「CLB 拡張ドメインの概要」をご参照ください。