Virtual URL, Service URL のワイルドカードの指定方法
Tunaclo AC ポータルの Virtual URL, Service URL のワイルドカードの指定について説明します。
概要
ポータル の Service の作成、更新で、Virtual URL, Service URL にワイルドカード(*)を指定できます。
(例)
Virtual URL | Service URL |
---|---|
http://*.fj.local:30000 |
http://*.test.local:10000 |
この例の設定では、Front Agent に http://gitlab.fj.local:30000
宛てのリクエストが届くと、
Back Agent は Service URL 中のワイルドカード部分を gitlab
に置き換えた
http://gitlab.test.local:10000
へリクエストを転送します。
本機能を使用するには、Front Agent と Back Agent のバージョンが共に v1.5.0 以降である必要があります。
いずれかが v1.5.0 より古い場合、リクエストがワイルドカードにマッチすると以下のレスポンスが返ります。
- Front Agent が古い場合
(404) Service or Route for request([VirtualURL]) is not registered - Tunaclo - Back Agent が古い場合
(500) Internal Server Error - Tunaclo - 両方が古い場合
「Front Agent が古い場合」と同じ
IP アドレスを指定した Virtual URL/Service URL にワイルドカードを用いることはできません。例えば
http://*.168.0.1:30000
という設定は出来ません。
ワイルドカードの指定方法
ワイルドカードを使用する場合は、Virtual URL とペアの Service URL 両方にワイルドカードを指定してください。
Virtual URL | Service URL | 指定可否 |
---|---|---|
http://*.fj.local:30000 |
http://*.test.local:10000 |
OK |
http://*.fj.local:30000 |
http://*.local:10000 |
OK |
http://*.fj.local:30000 |
http://gitlab.test.local:10000 |
Error |
ワイルドカードは、Virtual URL/Service URL のドメイン部分の左端のラベルに1つのみ指定可能です。
- ワイルドカード部分にはそれ以外の文字列を指定できません
*
のみのドメインは指定できません
Virtual URL or Service URL | 指定可否 |
---|---|
http://*.fj.local:30000 |
OK |
http://*.local:30000 |
OK |
http://gitlab.*.local:30000 |
Error |
http://*.*.local:30000 |
Error |
http://gi*lab.local:30000 |
Error |
http://*:30000 |
Error |
リクエストとワイルドカードとのマッチング
ワイルドカード部分は、送信されたリクエスト中の1つのラベルにのみマッチします。
Virtual URL | リクエスト | マッチ |
---|---|---|
http://*.fj.local:30000 |
http://gitlab.fj.local:30000 |
する |
http://*.fj.local:30000 |
http://xxx.gitlab.fj.local:30000 |
しない |
http://*.fj.local:30000 |
http://gitlab.xxx.fj.local:30000 |
しない |
http://*.fj.local:30000 |
http://fj.local:30000 |
しない |
送信されたリクエストが、ワイルドカードを含む Virtual URL と含まない Virtual URL の両方にマッチする場合は後者を優先します。
例えば、Service に以下の2つの Endpoint が指定されている場合、http://gitlab.fj.local:30000
へのリクエストは
http://gitlab.test.local:22222
へ転送されます。
Virtual URL | Service URL |
---|---|
http://*.fj.local:30000 |
http://*.test.local:11111 |
http://gitlab.fj.local:30000 |
http://gitlab.test.local:22222 |