Универсальный URL-адрес в Ingress-nginx Kubernetes Ingress для перенаправления на URL-адрес на основе пути, похоже, не передает значение регулярного выражения

Универсальный URL-адрес в Ingress-nginx Kubernetes Ingress для перенаправления на URL-адрес на основе пути, похоже, не передает значение регулярного выражения

Попытка настроить подстановочный URL-адрес в ingress-nginx kubernetes Ingress для перенаправления на URL-адрес на основе пути, похоже, не передает подстановочное значение регулярного выражения.

URL-адрес будет выглядеть примерно так: «https://test.dev.example1.com/admin», и он должен перенаправлять наhttps://example2.com/folder/test

Результат, который я получаю, — перенаправление наhttps://example2.com/folder/

Похоже, я не получаю подстановочное значение «test» как переменную.

Ниже представлен фрагмент Ingress

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
   name: sample-service-ingress
   annotations:
     kubernetes.io/ingress.class: nginx
     cert-manager.io/issuer: "letsencrypt-production"
     nginx.ingress.kubernetes.io/ssl-redirect: "true"
     nginx.ingress.kubernetes.io/server-snippet: |
        server_name ~^(?<name>[\w-]+)\.dev\.example1\.com$;

        location /admin {
          return 301 $scheme://example2.com/folder/$name;

        }
...

Я также проверил регулярное выражение на regex101.com, и оно выглядит правильным. (за исключением ~)

Я пробовал несколько вещей, например, брать переменную $name и помещать ее между двумя другими жестко закодированными значениями (например, return 301 $scheme://example2.com/folder/begin.$name.end;), что возвращает "https://example2.com/folder/begin..end", что возвращает пустое или NULL-значение между жестко закодированными значениями begin..end.

Я не уверен, что $name var в регулярном выражении передается правильно. Я не вижу значения.

Я использовал это в качестве ссылки по отношению к следующемуhttps://stackoverflow.com/questions/39563071/how-to-get-subdomain-of-url-in-nginx

Связанный контент