У меня есть служба, работающая в 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: /$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
Я думаю, это должно сработать
У меня были некоторые проблемы с определением цели перезаписи, но это действительно работает!