From 0f09551a7683b8039a06216ac91e458831bf680a Mon Sep 17 00:00:00 2001 From: Kwok-kuen Cheung Date: Mon, 27 Nov 2017 18:22:03 +0800 Subject: [PATCH] Fix kubernetes path prefix rule with rewrite-target --- provider/kubernetes/kubernetes.go | 6 +++--- provider/kubernetes/kubernetes_test.go | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/provider/kubernetes/kubernetes.go b/provider/kubernetes/kubernetes.go index 05b9382c1..3e237c92d 100644 --- a/provider/kubernetes/kubernetes.go +++ b/provider/kubernetes/kubernetes.go @@ -325,13 +325,13 @@ func getRuleForPath(pa v1beta1.HTTPIngressPath, i *v1beta1.Ingress) string { ruleType = ruleTypePathPrefix } - rule := ruleType + ":" + pa.Path + rules := []string{ruleType + ":" + pa.Path} if rewriteTarget := i.Annotations[annotationKubernetesRewriteTarget]; rewriteTarget != "" { - rule = ruleTypeReplacePath + ":" + rewriteTarget + rules = append(rules, ruleTypeReplacePath+":"+rewriteTarget) } - return rule + return strings.Join(rules, ";") } func (p *Provider) getPriority(path v1beta1.HTTPIngressPath, i *v1beta1.Ingress) int { diff --git a/provider/kubernetes/kubernetes_test.go b/provider/kubernetes/kubernetes_test.go index cdd5fe9bc..bd22b3baa 100644 --- a/provider/kubernetes/kubernetes_test.go +++ b/provider/kubernetes/kubernetes_test.go @@ -1728,7 +1728,7 @@ func TestIngressAnnotations(t *testing.T) { PassHostHeader: true, Routes: map[string]types.Route{ "/api": { - Rule: "ReplacePath:/", + Rule: "PathPrefix:/api;ReplacePath:/", }, "rewrite": { Rule: "Host:rewrite",