Eu uso o Traefik IngressRoute no Kubernetes.
Meu objetivo é fazer proxy de uma solicitação ao acessar https://kubernetes_host.com/my_api/... para http://10.139.158.30:5000/api/v1/
Eu faria isso no Nginx:
location /my_api {
proxy_pass http://10.139.158.30:5000/api/v1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme http;
proxy_set_header X-Forwarded-Proto http;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Mas não consigo descobrir como fazer isso no Traefik IngressRoute. Na documentação, solicitações de proxy apenas para serviços internos do Kubernetes. Exemplo:
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: route-proxy
namespace: xxx
spec:
entryPoints:
- xxx
routes:
- kind: Rule
match: PathPrefix(`/my_api`)
services:
- kind: Service
name: some-service
port: 80