From 77ebc0d0557c663e71e8ebe13d1dda312c46a214 Mon Sep 17 00:00:00 2001 From: Justin Kotalik Date: Wed, 4 Nov 2020 10:02:47 -0800 Subject: [PATCH] Fix nginx ingress path for capture group (#752) --- .../KubernetesManifestGenerator.cs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Microsoft.Tye.Core/KubernetesManifestGenerator.cs b/src/Microsoft.Tye.Core/KubernetesManifestGenerator.cs index 034e14ef..f9f284de 100644 --- a/src/Microsoft.Tye.Core/KubernetesManifestGenerator.cs +++ b/src/Microsoft.Tye.Core/KubernetesManifestGenerator.cs @@ -92,14 +92,21 @@ namespace Microsoft.Tye // // Therefore our rewrite-target is set to $2 - we want to make sure we have // two capture groups. - if (string.IsNullOrEmpty(ingressRule.Path) || ingressRule.Path == "/" || ingressRule.PreservePath) + if (string.IsNullOrEmpty(ingressRule.Path) || ingressRule.Path == "/") { path.Add("path", "/()(.*)"); // () is an empty capture group. } else { - var regex = $"{ingressRule.Path.TrimEnd('/')}(/|$)(.*)"; - path.Add("path", regex); + if (ingressRule.PreservePath) + { + path.Add("path", $"/()({ingressRule.Path.Trim('/')}.*)"); + } + else + { + var regex = $"{ingressRule.Path.TrimEnd('/')}(/|$)(.*)"; + path.Add("path", regex); + } } } }