我在 Consul Catalog 中使用标签声明了服务,这些服务通过 Traefik 的正确配置在 traefik 中可见(考虑到它有效,我已经测试过了)。
这些服务通过服务层上的环境变量在 Consul 中声明了标签。我通常在某些服务上有一个版本标签,在其他服务上有一个单元标签。
我想让 traefik 在以下形式的 URL 上代理我的服务
http://{version}.{unit].{service}.{domain}/
我已经有了默认的工作模板Host:{{.ServiceName}}.{{.Domain}}
所以我想我可以通过将其更改为来添加我的单位标签Host:{{getTag("BU", tags, "white")}}.{{.ServiceName}}.{{.Domain}}
。但是当我这样做时,我会在表单中收到大量错误消息
"Error creating route for frontend a-frontend: error parsing rule: Empty rule"
即使对于定义了单元标签的服务的前端映射也是如此。
那么,考虑到我就像 Jon Snow(我对 go 模板一无所知),我怎样才能让它工作呢?