如何让Kubernetes Ingress中的路径不区分大小写?

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

我正在尝试配置 Kubernetes Ingress 资源以使路径不区分大小写。这是我当前的 Ingress 配置:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: APP
  namespace: NAMESPACE
spec:
  rules:
    - http:
        paths:
          - path: /Foo
            pathType: Prefix
            backend:
              service:
                name: APP
                port:
                  number: 80


上述入口应该适用于 foo、Foo 和 FOO

有没有办法让 Kubernetes Ingress 中的路径不区分大小写?任何帮助将不胜感激。

kubernetes kubernetes-ingress
1个回答
0
投票

这是来自 pleshakov 的评论,可能有助于使 kubernetes 入口区分大小写。根据 pleshakov 的说法,这不是内置功能,需要修改模板。

您可以通过修改 Ingress 模板来添加自定义注释

您需要更换这一行:

 location {{$location.Path}} {

用这一行:

location {{if index $.Ingress.Annotations "custom.nginx.org/regex-insensitive-prefix"}}~* ^{{end}}{{$location.Path}} {

然后您将能够在 Ingress 资源中开启不区分大小写的匹配:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: cafe-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
    custom.nginx.org/regex-insensitive-prefix: "true"
spec:
. . .
© www.soinside.com 2019 - 2024. All rights reserved.