tencent cloud

レイヤー7転送ドメイン名およびURLルールの説明
最終更新日:2025-07-10 11:42:54
レイヤー7転送ドメイン名およびURLルールの説明
最終更新日: 2025-07-10 11:42:54

業務フローチャート

CLB(旧「アプリケーション型CLB」)のレイヤー7の業務フローおよびレイヤー4の業務フローを次に示します。

CLBのレイヤー7転送HTTP/HTTPSプロトコルを使用する際は、CLBインスタンスのリスナーに新たな転送ルールを作成します。ユーザーは対応するドメイン名を追加することができます。
ユーザーが1つの転送ルールのみを作成した場合、アクセスVIP + URLはそれに応じた転送ルールに対応し、サービスにも正常にアクセスできます。
ユーザーが複数の転送ルールを作成した場合、アクセスVIP + URLはある具体的なドメイン名 + URLへのアクセスを確実に保証できないため、具体的な転送ルールを確実に有効化するには、ユーザーがドメイン名 + URLに直接アクセスする必要があります。つまり、ユーザーが複数の転送ルールを設定した場合、同一のVIPが複数のドメイン名に対応することになり、この場合はVIP + URLによるサービスへのアクセスは推奨されず、具体的なドメイン名 + URLによってサービスにアクセスする必要があります。

レイヤー7転送設定の説明

転送ドメイン名設定ルール

レイヤー7CLBはさまざまなドメイン名およびURLからのリクエストをさまざまなサーバーに転送して処理することができます。1つのレイヤー7リスナーには複数のドメイン名を設定することができ、1つのドメイン名には複数の転送パスを設定することができます。ドメイン名転送の設定方法については、CLBの転送ドメイン名の設定
設定の制限:転送ドメイン名は長さが1~80文字で、_で始まることはできません。
ドメイン名設定ルール
説明
完全一致
サポートされている文字:a-z 0-9 . - _
www.example.com
ワイルドカードマッチ
サポートされている文字:a-z 0-9 . - _
アスタリスク(*)をワイルドカードとして使用する必要があります。
*は先頭または末尾に使用することができます。かつ単一ドメイン名に*を一度しか使用しません。
*.example.com 或
はwww.example.*
正規表現マッチング
サポートされている文字:a-z 0-9 . - ? = ~ _ - + \\ ^ * ! $ & | ( ) [ ]
~で始まり、かつ~を一度しか使用しません。
~^www\\d+\\.example\\.com$

転送ドメイン名マッチングの説明

転送ドメイン名の共通マッチングポリシー

1. 転送ルールにドメイン名を設定せず、代わりにIPを入力し、転送グループ内に複数のURLを設定する場合、このサービスにはVIP + URLによってアクセスします。
2. 転送ルールに完全なドメイン名を設定し、転送グループ内に複数のURLを設定する場合、サービスにはドメイン名 + URLによってアクセスします。
3. 転送ルールにワイルドカードドメイン名を設定し、転送グループ内に複数のURLを設定する場合は、リクエストにマッチしたドメイン名 + URL によってアクセスします。異なるドメイン名が同一のURLアドレスを指定するようにしたい場合は、この方式を参照して設定することができます。example.qcould.comを例にした形式を次に示します。
完全一致ドメイン名example.qcloud.comは、example.qcloud.comのドメイン名に正確にマッチします。
プレフィックスワイルドカードドメイン名*.qcloud.comは、qcloud.comで終わるドメイン名すべてにマッチします。
サフィックスワイルドカードドメイン名example.qcloud.*は、example.qcloudで始まるドメイン名すべてにマッチします。
正規表現マッチングドメイン名~^www\\d+\\.example\\.com$は、正規表現に基づいてマッチングを行います。
マッチングの優先順位:精確なパス > プレフィックスパス(非正規表現 > 正規表現パス(~)です。正規表現間は優先度の差がありません。1つのド メイン名が複数の正規表現ルールに一致した場合、有効になる優先順位は、基盤設定の優先順位に関連します。精確な転送ニーズがある場合、精確なパスマッチングとプレフィックスマッチング方式で区別することをお勧めします。
4. 転送ルールにドメイン名を設定し、転送グループ内にあいまい一致のURLを設定します。プレフィックスマッチングを使用し、最後にワイルドカード$を加えて完全なマッチングを行うことができます。 例えば、ユーザーがgifjpgまたはbmpで終わるあらゆるファイルにマッチしたい場合は、転送グループURL ~*.(gif|jpg|bmp)$を設定することができます。

転送ドメイン名におけるデフォルトドメイン名ポリシー

クライアントリクエストがそのリスナーのどのドメイン名にもマッチしなかった場合、CLBはリクエストをデフォルトドメイン名(Default Server)に転送し、デフォルトルールを制御可能にします。1つのリスナーに設定できるデフォルトドメイン名は1つのみです。 例えば、CLB1のHTTP:80リスナーに2つのドメイン名www.test1.comwww.test2.comを設定し、そのうちwww.test1.comがデフォルトドメイン名だとします。ユーザーがwww.example.comにアクセスした場合、どのドメイン名にもマッチしないため、CLBはこのリクエストをデフォルトドメイン名www.test1.comに転送します。
説明:
2020年5月18日より以前は、レイヤー7リスナーにデフォルトドメイン名を設定するかどうかはオプションであり、デフォルトドメイン名を設定するかしないかを選択できました。
レイヤー7リスナーにすでにデフォルトドメイン名を設定している場合、他のルールにマッチしなかったクライアントリクエストはデフォルトドメイン名に転送されます。
レイヤー7リスナーにデフォルトドメイン名を設定していない場合、他のルールにマッチしなかったクライアントリクエストはCLBにロードされた最初のドメイン名に転送されます。ロードの順序はコンソールの設定順序とは一致しない可能性があるため、コンソールで最初に設定されているものと同じとは限りません。
2020年5月18日からは次のようになります。
新たに作成するすべてのレイヤー7リスナーにデフォルトドメイン名の設定が必要となります。レイヤー7リスナーの最初のルールは、デフォルトドメイン名を必ず有効化するものであり、APIを呼び出してレイヤー7ルールを作成する際、CLBはDefaultServerフィールドを自動的にtrueに設定します。
すでにデフォルトドメイン名を設定済みのすべてのリスナーは、デフォルトドメイン名を変更または削除する際に新しいデフォルトドメイン名を指定する必要があります。コンソールでの操作の際に新しいドメイン名の指定が必要です。APIを呼び出して操作を行う際、新しいデフォルトドメイン名を設定しなければ、CLBは残りのドメイン名の中から、作成時間が最も古いものを新たなデフォルトドメイン名として自動的に設定します。
既存の未設定デフォルトドメイン名のルール:業務ニーズに応じてデフォルトドメイン名を直接設定することができます。操作手順は次の「操作4」のとおりです。設定しなければ、Tencent CloudはCLBにロードされた最初のドメイン名をデフォルトドメイン名に設定します。既存リスナーの処理は2020年6月19日までに完了します。
上記のポリシーは2020年5月18日から順次実施されますが、各インスタンスでの発効日には多少の違いが生じる可能性があります。2020年6月20日以降は、転送ドメイン名が空でないすべてのレイヤー7リスナーにはデフォルトドメイン名が存在することになります。
デフォルトドメイン名に関連する操作には次の4つがあります。
操作1:レイヤー7リスナーに最初の転送ルールを設定する際、デフォルトドメイン名は必ず有効な状態にしておかなければなりません。
操作2:現在のデフォルトドメイン名を無効化します。
あるリスナーに複数のドメイン名があり、現在のデフォルトドメイン名を無効化した場合、新しいデフォルトドメイン名を指定する必要があります。
あるリスナーにドメイン名が1つしかなく、かつそのドメイン名がデフォルトドメイン名の場合、デフォルトドメイン名を無効化することはできません。
操作3:デフォルトドメイン名を削除します。
あるリスナーに複数のドメイン名がある状況で、デフォルトドメイン名下のルールを削除する場合は次のようになります。
そのルールがデフォルトドメイン名の最後のルールではない場合は、直接削除することができます。
そのルールがデフォルトドメイン名の最後のルールである場合は、新しいデフォルトドメイン名を設定する必要があります。
あるリスナーにドメイン名が1つしかない場合は、すべてのルールを直接削除することができ、新しいデフォルトドメイン名を設定する必要もありません。

操作4
:デフォルトドメイン名を変更します。デフォルトドメイン名はリスナーリストからすぐに変更できます。

転送URLパス設定ルール

レイヤー7CLBはさまざまなURLからのリクエストをさまざまなサーバーに転送して処理することができます。1つのドメイン名には複数の転送URLパスを設定することができます。
設定の制限:転送URLのは1~200文字にする必要があります。
パスマッチルール
説明
通常マッチ
サポートされている文字:a-z A-Z 0-9 . - _ / = ? :
必ず/で始まる必要があります。大文字と小文字を区別します。
最長プレフィックスでマッチし、完全一致が優先され、そして部分一致です。
/index
正規表現マッチング
サポートされている文字: a-z A-Z 0-9 . - _ / = ? ~ ^ * $ : ( ) [ ] + |
~で始まり、かつ~を一度しか使用しません。
~で始まることは大文字と小文字を区別する正規表現マッチを示します。~*で始まることは大文字と小文字を区別しない正規表現マッチを示します。^~で始まることは否定の正規表現マッチを示します。
~* .png$
完全一致
サポートされている文字:a-z A-Z 0-9 . - _ / = ? :
=で始まる完全一致である必要があります。
優先度が最も高いため、マッチした後他のパスとマッチしません。
=/index.html

転送URLパスマッチング説明


1. マッチングルール:最長のプレフィックスに従ってマッチします。完全一致を優先し、その次にあいまい一致とします。 例えば、上の図に従って転送ルールおよび転送グループを設定した場合、リクエストは次のように、異なる転送ルールに順番にマッチングされます。
1.1 example.qloud.com/test1/image/index1.htmlは転送ルール1で設定したURLのルールに完全一致し、このリクエストは転送ルール1に関連付けられたバックエンドCVM、すなわち図のCVM1およびCVM2の80番ポートに転送されます。
1.2 example.qloud.com/test1/image/hello.htmlには完全一致がなく、最長のプレフィックスに従って転送ルール2にマッチします。このため、このリクエストは転送ルール2に関連付けられたバックエンドCVM、すなわち図のCVM2およびCVM3の81番ポートに転送されます。
1.3 example.qloud.com/test2/video/mp4/には完全一致がなく、最長のプレフィックスに従って転送ルール3にマッチします。このため、このリクエストは転送ルール3に関連付けられたバックエンドCVM、すなわち図のCVM4の90番ポートに転送されます。
1.4 example.qloud.com/test3/hello/index.htmlには完全一致がなく、最長のプレフィックスに従ってルートディレクトリDefault URL:example.qloud.com/にマッチします。この場合、NginxはリクエストをFastCGI(php)、Tomcat(jsp)のようなバックエンドアプリケーションサーバーに転送し、Nginxはリバースプロキシサーバーとして存在します。
1.5 example.qloud.com/test2/には完全一致がなく、最長のプレフィックスに従ってルートディレクトリDefault URL:example.qloud.com/にマッチします。
2. ユーザーが設定したURLルールにおいてサービスが正常に実行できない場合、マッチング成功後に他のページへのリダイレクトは行われません。 例えば、クライアントリクエストexample.qloud.com/test1/image/index1.htmlが転送ルール1にマッチしたものの、このとき転送ルール1のバックエンドサーバーの動作に異常があり、404のページが表示された場合、ユーザーがアクセスした際にも404が表示され、他のページにはリダイレクトされません。
3. Default URLを設定し、それがサービスの安定しているページ(静的ページ、トップページなど)を指定するようにした上で、すべてのバックエンドCVMをバインドすることをユーザーにお勧めします。このとき、どのルールもマッチングに成功しなかった場合、システムによってリクエストはDefault URLの存在するページを指定します。それが行われない場合は404の問題が発生する可能性があります。
4. ユーザーがDefault URLを設定せず、なおかつすべての転送ルールがマッチしなかった場合、サービスにアクセスすると404が返されます。
5. レイヤー7URLパス末尾のスラッシュの説明:ユーザーが設定したURLは/で終わっているが、クライアントのアクセス時に/が含まれなかった場合、このリクエストは/で終わるルールにリダイレクトされます(301リダイレクト)。 例えば、HTTP:80リスナー下で設定したドメイン名がwww.test.comであるとします。
5.1 このドメイン名に設定したURLが/abc/である場合:
クライアントがwww.test.com/abcにアクセスした際は、www.test.com/abc/にリダイレクトされます。
クライアントがwww.test.com/abc/にアクセスした際は、www.test.com/abc/にマッチします。
5.2 このドメイン名に設定したURLが/abcである場合:
クライアントがwww.test.com/abcにアクセスした際は、www.test.com/abcにマッチします。
クライアントがwww.test.com/abc/にアクセスした際も、www.test.com/abcにマッチします。

レイヤー7ヘルスチェック設定の説明

ヘルスチェックドメイン名設定ルール

ヘルスチェックドメイン名はレイヤー7CLBがバックエンドサービスのヘルスステータスをチェックするためのドメイン名です。
ヘルスチェックドメイン名の長さ制限は1~80文字です。
ヘルスチェックドメイン名はデフォルトでは転送ドメイン名です。
ヘルスチェックドメイン名は正規表現をサポートしていません。転送ドメイン名がワイルドカードドメイン名の場合は、ある特定のドメイン名(非正規表現)をヘルスチェックドメイン名として指定する必要があります。
ヘルスチェックドメイン名がサポートする文字セットはa-z0-9.-_であり、例えばwww.example.qcould.comのようになります。

ヘルスチェックパス設定ルール

ヘルスチェックパスはレイヤー7CLBがバックエンドサービスのヘルスステータスをチェックするためのURLパスです。
ヘルスチェックパスの長さ制限は1~200文字です。
ヘルスチェックパスはデフォルトでは/であり、必ず/で始めなければなりません。
ヘルスチェックパスは正規表現をサポートしていません。ある特定のURLパス(静的ページ)を指定してヘルスチェックを行うことをお勧めします。
ヘルスチェックパスがサポートする文字セットはa-zA-Z0-9.-_/=?:であり、例えば/indexのようになります。
この記事はお役に立ちましたか?
営業担当者に お問い合わせ いただくか チケットを提出 してサポートを求めることができます。
はい
いいえ

フィードバック