nginx 入口控制器中的多个规则不起作用?

问题描述 投票:0回答:0

我已经在 AKS 中安装了 nginx 入口控制器。

我的任务很简单。我只想利用 nginx 入口控制器根据路径调用我的前端和后端服务。

以下是我的入口文件

前端.yaml

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: frontend
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  ingressClassName: nginx
  rules:
  - http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: frontend-svc
            port:
              number: 80

后端.yaml

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: backend
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
  ingressClassName: nginx
  rules:
  - http:
      paths:
      - path: /backend(/|$)(.*)
        pathType: Prefix
        backend:
          service:
            name: backend-svc
            port:
              number: 8005

我的期望: 当我点击入口控制器时,我想查看前端应用程序,同样,如果我点击 /backend,我想调用后端 API。

当我尝试同样的操作时,Ingress 控制器没有给出任何响应。同时,如果我删除上述任何一个 yaml 文件,我都可以访问相应的服务。当这两个规则都应用时它不起作用。

我是一个天真的用户入口控制器。无法确定出了什么问题。任何帮助将不胜感激。

kubernetes nginx kubernetes-ingress nginx-ingress
© www.soinside.com 2019 - 2024. All rights reserved.