我有一个在Kubernetes上运行的服务,在像example.com
这样的域上可用。我正在尝试添加一个路径,该路径应该重定向到wordpress博客。所以我需要添加一条规则:/blog/中的所有内容都应该重定向到wordpress,否则使用主应用程序。
我尝试在主应用程序路径中包含一个regexp,以包含除/blog/之外的所有内容
- host: example.com
http:
paths:
- path: /^(?!blog).*$
但我一直得到must be a valid regex
,或者如果我去掉斜杠,它会显示must be an absolute path
。我似乎找不到如何做到这一点的方法,它只是不断重定向到我的根应用
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: app
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- host: example.com
http:
paths:
- path: /
backend:
serviceName: MainAppService
servicePort: 3010
- path: /blog/*
backend:
serviceName: BlogService
servicePort: 3020
试试这个-
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$1
kubernetes.io/ingress.class: nginx
name: app
spec:
rules:
- host: example.com
http:
paths:
- path: /(.*)
backend:
serviceName: MainAppService
servicePort: 3010
- path: /blog/(.*)
backend:
serviceName: BlogService
servicePort: 3020
我想,这应该可以