パスベースの URL にリダイレクトする ingress-nginx kubernetes Ingress のワイルドカード URL は正規表現値を渡さないようです

パスベースの URL にリダイレクトする ingress-nginx kubernetes Ingress のワイルドカード URL は正規表現値を渡さないようです

ingress-nginx kubernetes Ingress でワイルドカード URL を設定して、パス ベースの URL にリダイレクトしようとしましたが、ワイルドカード正規表現値が渡されないようです。

URLは「https://test.dev.example1.com/admin」のようなもので、次のURLにリダイレクトされます。https://example2.com/folder/test

私が得た結果は、https://example2.com/フォルダ/

ワイルドカード値「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 変数を取得して、他の 2 つのハードコードされた値の中間に配置する (例: return 301 $scheme://example2.com/folder/begin.$name.end;) などのいくつかの方法を試しました。これにより、"https://example2.com/folder/begin..end" が返され、begin..end のハードコードされた値の間に空または NULL 値が返されます。

正規表現の $name 変数が正しく渡されているかどうかわかりません。値を確認できません。

私はこれを以下のものを参考に使用しましたhttps://stackoverflow.com/questions/39563071/how-to-get-subdomain-of-url-in-nginx

関連情報