Allow empty path with App-root annotation
This commit is contained in:
parent
bc6e9d5042
commit
f7c6c562a5
2 changed files with 25 additions and 1 deletions
|
@ -939,7 +939,7 @@ func loadAuthTLSSecret(namespace, secretName string, k8sClient Client) (string,
|
||||||
func getFrontendRedirect(i *extensionsv1beta1.Ingress, baseName, path string) *types.Redirect {
|
func getFrontendRedirect(i *extensionsv1beta1.Ingress, baseName, path string) *types.Redirect {
|
||||||
permanent := getBoolValue(i.Annotations, annotationKubernetesRedirectPermanent, false)
|
permanent := getBoolValue(i.Annotations, annotationKubernetesRedirectPermanent, false)
|
||||||
|
|
||||||
if appRoot := getStringValue(i.Annotations, annotationKubernetesAppRoot, ""); appRoot != "" && path == "/" {
|
if appRoot := getStringValue(i.Annotations, annotationKubernetesAppRoot, ""); appRoot != "" && (path == "/" || path == "") {
|
||||||
return &types.Redirect{
|
return &types.Redirect{
|
||||||
Regex: fmt.Sprintf("%s$", baseName),
|
Regex: fmt.Sprintf("%s$", baseName),
|
||||||
Replacement: fmt.Sprintf("%s/%s", strings.TrimRight(baseName, "/"), strings.TrimLeft(appRoot, "/")),
|
Replacement: fmt.Sprintf("%s/%s", strings.TrimRight(baseName, "/"), strings.TrimLeft(appRoot, "/")),
|
||||||
|
|
|
@ -1308,6 +1308,18 @@ rateset:
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
buildIngress(
|
||||||
|
iNamespace("testing"),
|
||||||
|
iAnnotation(annotationKubernetesAppRoot, "/root"),
|
||||||
|
iRules(
|
||||||
|
iRule(
|
||||||
|
iHost("root3"),
|
||||||
|
iPaths(
|
||||||
|
onePath(iBackend("service1", intstr.FromInt(80))),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
buildIngress(
|
buildIngress(
|
||||||
iNamespace("testing"),
|
iNamespace("testing"),
|
||||||
iAnnotation(annotationKubernetesIngressClass, "traefik"),
|
iAnnotation(annotationKubernetesIngressClass, "traefik"),
|
||||||
|
@ -1518,6 +1530,11 @@ rateset:
|
||||||
servers(),
|
servers(),
|
||||||
lbMethod("wrr"),
|
lbMethod("wrr"),
|
||||||
),
|
),
|
||||||
|
backend("root3",
|
||||||
|
servers(
|
||||||
|
server("http://example.com", weight(1))),
|
||||||
|
lbMethod("wrr"),
|
||||||
|
),
|
||||||
backend("protocol/valid",
|
backend("protocol/valid",
|
||||||
servers(
|
servers(
|
||||||
server("h2c://example.com", weight(1)),
|
server("h2c://example.com", weight(1)),
|
||||||
|
@ -1684,6 +1701,13 @@ rateset:
|
||||||
route("root", "Host:root"),
|
route("root", "Host:root"),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
frontend("root3",
|
||||||
|
passHostHeader(),
|
||||||
|
redirectRegex("root3$", "root3/root"),
|
||||||
|
routes(
|
||||||
|
route("root3", "Host:root3"),
|
||||||
|
),
|
||||||
|
),
|
||||||
frontend("protocol/valid",
|
frontend("protocol/valid",
|
||||||
passHostHeader(),
|
passHostHeader(),
|
||||||
routes(
|
routes(
|
||||||
|
|
Loading…
Add table
Reference in a new issue