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
前へ
次へ