簡體   English   中英

Traefik:按子域動態路由

[英]Traefik: Dynamic routing by subdomain

問題,

我有多個服務部署在 Docker 容器上。 我們的每一組客戶都應該被路由到一個特定的服務。 例子:

  • 客戶端1->服務1
  • 客戶端 2 -> 服務 1
  • 客戶 3 -> 服務 2

這應該使用子域完成:client1= client1.example.com client2 = client2.example.com

問題:

我希望這個配置是動態的,這意味着 Traefik 需要從另一個服務動態獲取這些路由規則:

  • 例如,我可以創建一個服務,給主機名返回 Traefik 應該路由到的服務的名稱。
  • 或者,當添加客戶端時,我可以將此規則推送到 Traefik。

細節:

當我創建一個 saas 應用程序時,此功能很有用。

非常感謝。

實現此目的的一種簡單方法是將正則表達式用於為每個服務定義的路由器,並在您加入新客戶端后更新正則表達式

例如,將此 label 添加到服務 1

 - traefik.http.routers.app-backend.rule=HostRegexp(`{subdomain:(clinet1)}.example.com`)

當您添加另一個應由服務 1 提供服務的客戶端時,只需將 label 更新為

 - traefik.http.routers.app-backend.rule=HostRegexp(`{subdomain:(clinet1|clientX)}.example.com`)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM