apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace: default
name: my-ingress
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: $2
spec:
rules:
- host: hostname.com
http:
paths:
- path: /
backend:
serviceName: frontend
servicePort: 80
- path: /api/v1(/|$)(.*)
backend:
serviceName: backend
servicePort: 80
我在这里要完成的是:
hostname.com/api/v1/anyurl 在进入后端时应该变得 hostname.com/anyurl。 hostname.com/anyurl 应该保持 hostname.com/anyurl 并转到前端。
/api/v1 重写似乎有效,但任何进入前端的 url 都会被重写为/。 我需要的是仅适用于/api/v1 路径的重写规则
我想这应该对你有用 -
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace: default
name: my-ingress
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: $1
spec:
rules:
- host: hostname.com
http:
paths:
- path: /(.*)
backend:
serviceName: frontend
servicePort: 80
- path: /api/(.*)
backend:
serviceName: backend
servicePort: 80
我刚刚编辑了这个,它对我有用,请检查一下。我想我们可以排除故障