59,832
社区成员
发帖
与我相关
我的任务
分享我的这个需求有点儿奇怪,如果在浏览器上访问 https://api.domain.cn/system/swagger 我希望它执行nginx.ingress.kubernetes.io/rewrite-target: /$2 (这是默认的)
但是,如果我的访问链接是 https://api.domain.cn/system/rabbitmq/* 的时候,我希望nginx.ingress.kubernetes.io/rewrite-target: /$2 不要执行;
也就是说,只要url地址中包含 "rabbitmq" 的时候,就不要重写url了,而是直接访问子目录;
以下是我的yaml代码:请路过的朋友给予一些指点,谢谢!
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: api-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/proxy-body-size: "600M"
nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
tls:
- hosts:
- api.domain.cn
secretName: domain-cn
rules:
- host: api.domain.cn
http:
paths:
- path: /system(/|$)(.*)
backend:
serviceName: system-api
servicePort: 80
- path: /sms(/|$)(.*)
backend:
serviceName: sms-api
servicePort: 80