traefik docker标签中基于主机和路径的路由规则的混合

traefik docker标签中基于主机和路径的路由规则的混合,docker,traefik,Docker,Traefik,我正在尝试使用docker标签创建一个前端规则,该规则可以将两个基于主机的路由和一些基于路径的路由从一个域定向到一个后端,但我很难获得正确的魔法,因为事实证明这是一种复杂的规则 frontend.rule=“主机:主机A.domain,主机B.domain,主机C.domain,主机:svc.domain;路径前缀=/api/users,主机:svc.domain;路径前缀=/api/other” 这似乎是or和and逻辑的正确组合,但我似乎错了。 ,是OR操作符(仅在匹配器内工作,例如:主机:

我正在尝试使用docker标签创建一个前端规则,该规则可以将两个基于主机的路由和一些基于路径的路由从一个域定向到一个后端,但我很难获得正确的魔法,因为事实证明这是一种复杂的规则

frontend.rule=“主机:主机A.domain,主机B.domain,主机C.domain,主机:svc.domain;路径前缀=/api/users,主机:svc.domain;路径前缀=/api/other”

这似乎是or和and逻辑的正确组合,但我似乎错了。

  • 是OR操作符(仅在匹配器内工作,例如:
    主机:foo.com,bar.com
  • 是AND运算符(仅在匹配器之间工作,例如:
    Host:foo.com;Path:/bar
主机:api.service;PathPrefixStrip:/foo

要在匹配器之间使用OR,您需要使用段标签:

   # ...
   labels:
     - "traefik.enable=true"
     - "traefik.port=80"
     - "traefik.foo.frontend.rule=Host:api.mydomain.com"
     - "traefik.bar.frontend.rule=Host:www.mydomain.com,m.mydomain.com;PathPrefixStrp:/_"
   # ...
文档链接: