我正在尝试解决kubernetes nginx ingress中的上下文路由
当我输入上下文路径时
/foo/bar
在应用程序控制器中收到
/bar
这是正确的
但是当我在应用程序控制器中输入/foobar
时收到/bar
,但它不应该路由。
我尝试/foo//?(.*)
是正确的,但是如果我输入/foo
(不带斜杠),则会出现错误404
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: hello
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- host: hello.info
http:
paths:
- backend:
serviceName: hello-svc
servicePort: 80
path: /foo/?(.*)
所以我希望/foo
或/foo/
去/
和/foo/bar
转到/bar
和/foobar
得到一个error 404
和/foo/bar/hello
应该转到/bar/hello
答案 0 :(得分:1)
尝试使用此注释:
npm
以及配置中的以下路径:
nginx.ingress.kubernetes.io/rewrite-target: /$2