ingress-nginx 能否根据url规则来决定是否重写target呢?

jianghu 舵手 2022-04-13 22:07:46

我的这个需求有点儿奇怪,如果在浏览器上访问 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

 

...全文
358 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-后端 发布问题, 以便更快地解决您的疑问

59,833

社区成员

发帖
与我相关
我的任务
社区描述
Kubernetes起源于古希腊,舵手的意思。谷歌用它命名,不言而喻。社区收录k8s学习开发运维相关博文,欢迎小伙伴积极投稿,可以发帖引流到站内站外博文。路飞说立志要成为海贼王的男人,小伙伴共勉^_^
kubeless 个人社区 北京·房山区
社区管理员
  • 山河已无恙
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧