Kubernetes Ingress 路径:允许除 /blog/ 之外的所有路径
Kubernetes Ingress path: allow all exept for /blog/
我在 Kubernetes 上有一个服务 运行,可以在 example.com
这样的域上使用。我正在尝试添加一个应该重定向到 wordpress 博客的路径。所以我需要添加一条规则:/blog/ 中的所有内容都应重定向到 wordpress,否则使用主应用程序。
我试图为主要应用程序路径包含一个正则表达式以包含除 /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: /
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
我想,这应该行得通
我在 Kubernetes 上有一个服务 运行,可以在 example.com
这样的域上使用。我正在尝试添加一个应该重定向到 wordpress 博客的路径。所以我需要添加一条规则:/blog/ 中的所有内容都应重定向到 wordpress,否则使用主应用程序。
我试图为主要应用程序路径包含一个正则表达式以包含除 /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: /
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
我想,这应该行得通