中间件没有被检测到,因此路径没有被剥离,从而导致后端api中的404 s。
中间件存在于k8s应用程序名称空间中
$ kubectl get -n apps middlewares
NAME AGE
traefik-middlewares-backend-users-service 1d中间件的配置与入口路由
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
annotations:
kubernetes.io/ingress.class: traefik
name: apps-services
namespace: apps
spec:
entryPoints:
- web
routes:
- kind: Rule
match: Host(`example.com`) && PathPrefix(`/users/`)
middlewares:
- name: traefik-middlewares-backend-users-service
priority: 0
services:
- name: backend-users-service
port: 8080
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: traefik-middlewares-backend-users-service
namespace: apps
spec:
stripPrefix:
prefixes:
- /users静态配置
global:
checkNewVersion: true
sendAnonymousUsage: true
entryPoints:
http:
address: :80
traefik:
address: :8080
providers:
providersThrottleDuration: 2s
kubernetesIngress: {}
api:
# TODO: make this secure later
insecure: true
ping:
entryPoint: http
log: {}Traefik仪表板没有中间件

Spring 404页。路由在example.com/ Route /health上
/users并没有被剥夺。这对我在traefik v1的工作非常好。
注意:在示例中,实际域已被example.com和domain.com所取代。

发布于 2019-11-04 20:21:08
为了让这件事起作用,我不得不:
集群角色,以具有列出和查看新的v2资源
Traefik静态配置文件
providers:
providersThrottleDuration: 2s
kubernetesCRD:
namespaces:
- apps
- traefikTLSOption CRD
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: tlsoptions.traefik.containo.us
spec:
group: traefik.containo.us
version: v1alpha1
names:
kind: TLSOption
plural: tlsoptions
singular: tlsoption
scope: Namespaced更新的Traefik静态配置
global:
checkNewVersion: true
sendAnonymousUsage: true
entryPoints:
http:
address: :80
traefik:
address: :8080
providers:
providersThrottleDuration: 2s
kubernetesCRD:
namespaces:
- apps
- traefik
api:
# TODO: make this secure later
insecure: true
ping:
entryPoint: http
log: {}https://stackoverflow.com/questions/58653929
复制相似问题