如何配置 traefik 2.2 转发 url 并删除关键字
how to config traefik 2.2 forward url and remove keywords
我想使用 treafik 2.2 转发我的请求并像这样配置我的入口:
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
name: soa-illidan-forward
namespace: dabai-pro
selfLink: /apis/extensions/v1beta1/namespaces/dabai-pro/ingresses/soa-illidan-forward
uid: b0778435-4fff-4e78-b85f-a534833b73e0
resourceVersion: '322554'
generation: 1
creationTimestamp: '2020-06-07T11:04:43Z'
spec:
rules:
- host: manage.example.net
http:
paths:
- path: /service
backend:
serviceName: zuul-service
servicePort: 8088
status:
loadBalancer: {}
但是转发仍然使用关键字service
并转发到后端,如何在转发请求时删除keywards service
?我也试过这个:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: pro-manage-route
namespace: dabai-pro
spec:
entryPoints:
- web
routes:
- match: Host(`manage.example.net`)
kind: Rule
services:
- name: be-illidan-frontend
port: 80
- match: Host(`manage.example.net`) && PathPrefix(`/service`)
kind: Rule
services:
- name: zuul-service
port: 8088
但还是不行。这是我的请求路径:
https://manage.example.net/service/illidan/report/user/captcha
我想转发到后端 zuul-service
的 url 是 /illidan/report/user/captcha
。不是 /service/illidan/report/user/captcha
.
仅使用 traefik StripPrefix 中间件,例如:
http:
middlewares:
test-stripprefix:
stripPrefix:
prefixes:
- "/foobar"
- "/fiibar"
有关更多详细信息,请阅读 traefik docs。
我想使用 treafik 2.2 转发我的请求并像这样配置我的入口:
kind: Ingress
apiVersion: extensions/v1beta1
metadata:
name: soa-illidan-forward
namespace: dabai-pro
selfLink: /apis/extensions/v1beta1/namespaces/dabai-pro/ingresses/soa-illidan-forward
uid: b0778435-4fff-4e78-b85f-a534833b73e0
resourceVersion: '322554'
generation: 1
creationTimestamp: '2020-06-07T11:04:43Z'
spec:
rules:
- host: manage.example.net
http:
paths:
- path: /service
backend:
serviceName: zuul-service
servicePort: 8088
status:
loadBalancer: {}
但是转发仍然使用关键字service
并转发到后端,如何在转发请求时删除keywards service
?我也试过这个:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: pro-manage-route
namespace: dabai-pro
spec:
entryPoints:
- web
routes:
- match: Host(`manage.example.net`)
kind: Rule
services:
- name: be-illidan-frontend
port: 80
- match: Host(`manage.example.net`) && PathPrefix(`/service`)
kind: Rule
services:
- name: zuul-service
port: 8088
但还是不行。这是我的请求路径:
https://manage.example.net/service/illidan/report/user/captcha
我想转发到后端 zuul-service
的 url 是 /illidan/report/user/captcha
。不是 /service/illidan/report/user/captcha
.
仅使用 traefik StripPrefix 中间件,例如:
http:
middlewares:
test-stripprefix:
stripPrefix:
prefixes:
- "/foobar"
- "/fiibar"
有关更多详细信息,请阅读 traefik docs。