alb 入口控制器基于路径的路由无法正常工作

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

我正在 ALB 入口控制器上尝试基于路径的路由。然而,虽然“/”路径有效,但“/test”路径给出了403错误。当我将应用程序服务从“/test”路径移动到“/”路径时,它在这里工作。所以只有到“/”路径的路由,没有其他路径。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: test-ui
  namespace: dev
  annotations:
    # Ingress core settings
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/load-balancer-name: test-dev
    alb.ingress.kubernetes.io/tags: project=test, env=dev
    alb.ingress.kubernetes.io/ssl-redirect: '443'
    alb.ingress.kubernetes.io/group.name: dev
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/group.order: 1000
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP":80,"HTTPS": 443}]'
    alb.ingress.kubernetes.io/certificate-arn: xxx
    alb.ingress.kubernetes.io/actions.response-403: >
      {"type":"fixed-response","fixedResponseConfig":{"contentType":"text/plain","statusCode":"403","messageBody":"403 External access to endpoint not allowed"}}
spec:
  rules:
  - host: "xxx.test.com"
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: test-ui
            port:
              number: 80

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: test
  namespace: dev
  annotations:
    # Ingress core settings
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/load-balancer-name: test-dev
    alb.ingress.kubernetes.io/tags: project=test, env=dev
    alb.ingress.kubernetes.io/ssl-redirect: '443'
    alb.ingress.kubernetes.io/group.name: dev
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP":80,"HTTPS": 443}]'
    alb.ingress.kubernetes.io/certificate-arn: xxx
    alb.ingress.kubernetes.io/actions.response-403: >
      {"type":"fixed-response","fixedResponseConfig":{"contentType":"text/plain","statusCode":"403","messageBody":"403 External access to endpoint not allowed"}}
spec:
  rules:
  - host: "xxx.test.com"
    http:
      paths:
      - path: /test
        pathType: Prefix
        backend:
          service:
            name: test
            port:
              number: 8080

我希望路由到除“/”以外的路径。

  • AWS Load Balancer 控制器由 helm 安装,版本为 v2.6.1
  • Kubernetes 版本:1.27
  • EKS版本:1.27
kubernetes kubernetes-ingress amazon-eks aws-application-load-balancer ingress-controller
1个回答
0
投票

您能否粘贴错误,我尝试过,但它给了我

404
,因为服务上没有运行任何内容:
/test
如果您认为服务应该仅在路径存在的情况下与
/test
一起使用,那么它的 Path 不是重定向。

© www.soinside.com 2019 - 2024. All rights reserved.