我正在寻找配方如何配置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上运行的前端应用服务器。然后(在它将验证用户之后)将流量重定向到后端服务器服务/应用路径。
有什么建议吗?
谢谢, 瓦伦丁。