Azure AKS-将附加HTTP应用程序路由与nginx重写规则结合起来?

Azure AKS-将附加HTTP应用程序路由与nginx重写规则结合起来?,azure,nginx,kubernetes,kubernetes-ingress,azure-aks,Azure,Nginx,Kubernetes,Kubernetes Ingress,Azure Aks,我正在使用Azure AKS插件进行HTTP应用程序路由,如上所述。我使用Terraform部署了它,它通常可以工作: resource "kubernetes_ingress" "ingress" { metadata { name = "nurse-ingress" namespace = kubernetes_namespace.nurse.metadata[0].name annotatio

我正在使用Azure AKS插件进行HTTP应用程序路由,如上所述。我使用Terraform部署了它,它通常可以工作:

resource "kubernetes_ingress" "ingress" {
  metadata {
    name      = "nurse-ingress"
    namespace = kubernetes_namespace.nurse.metadata[0].name
    annotations = {
      "kubernetes.io/ingress.class" = "addon-http-application-routing"
      "nginx.ingress.kubernetes.io/rewrite-target" = "/$1"
    }
  }

  wait_for_load_balancer = true

  spec {
    backend {
      service_name = "nurse-service"
      service_port = 80
    }

    rule {
      host = "nurseapp.${azurerm_kubernetes_cluster.main.addon_profile[0].http_application_routing[0].http_application_routing_zone_name}"
      http {
        path {
          backend {
            service_name = kubernetes_service.app.metadata[0].name
            service_port = 80
          }

          path = "/app/(.*)"
        }

        path {
          backend {
            service_name = kubernetes_service.nurse.metadata[0].name
            service_port = 80
          }

          path = "/nurse/(.*)"
        }
      }
    }
  }
}
但是,它只在默认后端工作(即path=/)。当我在/nurse或/app上调用URL时,它不起作用,因为似乎没有考虑重写目标
/$1
。我将得到一个404,因为护士服务本身并不希望调用/foo而不是/nurse/foo

这是否可以配置为开始,如果可以,是否知道我的错误在哪里


以下内容将重写路径,以便将
/sample/suffix
请求重写为
/suffix

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: sample-ingress
  annotations:
    kubernetes.io/ingress.class: addon-http-application-routing
    nginx.ingress.kubernetes.io/rewrite-target: $2
spec:
  rules:
  - host: sample.YOUR-ID.westeurope.aksapp.io
    http:
      paths:
      - path: /sample/
        pathType: Prefix
        backend:
          service:
            name: sample
            port:
              number: 80

谢谢我会试试看,让我想想。顺便说一句,我在1.19.6