我正在寻找一个配方如何配置traefik和kubernetes入口控制器来使用自定义前端和后端服务器 . 这些不是traefik中使用的前端和后端,而是我们想要将自己部署到k8s的应用服务器 . 为了澄清这里的想法,客户端请求应如何:

客户端将调用http://a.b.c.com/app?params=bla首先,应将其重定向到我们的前端服务器进行身份验证,然后再调度到/ app后端服务器以满足他/她的请求 .

我在考虑以下配置:

将traefik的入口点设置为443

[entryPoints]
 [entryPoints.http]
 address = ":80"
   [entryPoints.http.redirect]
    entryPoint = "https"
 [entryPoints.https]
 address = ":443"
  [entryPoints.https.tls]
    [[entryPoints.https.tls.certificates]]
    CertFile = "/ssl/server.crt"
    KeyFile = "/ssl/server.key"

这将把流量重定向到端口443.在入口控制器中,我可以定义路径/到我们在k8s上运行的前端服务器和/ app指向我们的后端服务器,例如,

rules:
  - host: "a.b.c.com"
    http:
      paths:
      - path: /
        backend:
          serviceName: frontend
          servicePort: 443
      - path: /app
        backend:
          serviceName: app
          servicePort: 8888

问题是我不知道它是否会起作用,因为我在入口控制器中定义了路径:/和/ app,后来是前者的子路径 . 但是我想要的是将流量重定向到端口443上运行的前端应用服务器 . 然后(在它将验证用户之后)将流量重定向到后端服务器服务/应用路径 .

有什么建议?

谢谢,瓦伦丁 .