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

问题描述 投票:1回答:1

我正在尝试使用docker标签创建一个前端规则,该标签将两个基于主机的路由和一些基于路径的路由从一个域引导到一个后端但是我无法获得正确的魔法,因为结果是复杂的规则。

frontend.rule="Host:HostA.domain,HostB.domain,HostC.domain,Host:svc.domain;PathPrefix=/api/users, Host:svc.domain;PathPrefix=/api/other"

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

docker traefik
1个回答
2
投票
  • ,是OR运算符(仅在匹配器内部工作,例如:Host:foo.com,bar.com
  • ;是AND运算符(仅在匹配器之间起作用,例如:Host:foo.com;Path:/bar

Host: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:/_"
   # ...

文档链接:

© www.soinside.com 2019 - 2024. All rights reserved.