使Traefik将HTTP BAN请求路由到与常规HTTP请求不同的服务或端口

我们在GKE Kubernetes集群上使用Traefik 1.7作为Ingress控制器。每个应用程序都有一个Ingress,它将传入的HTTP请求路由到Varnish服务,该服务可以处理来自缓存的响应,也可以将请求路由到某些nginx / PHP后端应用程序。

Varnish容器包含一个Varnish容器,该容器在端口80上侦听传入的请求,并在端口6083上使用一个应用程序,该应用程序负责将BAN请求镜像到所有Varnish副本,以便从所有Varnish副本中清除缓存对象。大多数BAN请求将来自内部PHP应用程序,但我们的BAN请求也来自在该群集外部运行的GitLab CI任务。

我们希望将具有BAN动词(而不是GET,POST等)的传入HTTP请求路由到Varnish服务上的端口6083,同时让GET,HEAD,POST流量像正常一样到达端口80。 / p>

我不知道有一种方法可以使Traefik路由到基于HTTP Verb的其他服务或端口。有什么想法吗?

CL1314520CLCL 回答:使Traefik将HTTP BAN请求路由到与常规HTTP请求不同的服务或端口

您可以在路由表达式中使用Method()规则。有关更多详细信息,请参见https://docs.traefik.io/routing/routers/#rule,但是通过快速检查Traefik和Mux中的代码,我没有理由Method(\"BAN\")不起作用。

本文链接:https://www.f2er.com/3056275.html

大家都在问