more compatiable with nginx's rewrite (#636)

This commit is contained in:
澄潭
2023-11-14 18:59:13 +08:00
committed by GitHub
parent 5174397e7c
commit 88c0386ca3
5 changed files with 63 additions and 23 deletions

View File

@@ -15,6 +15,8 @@
package annotations
import (
"strings"
networking "istio.io/api/networking/v1alpha3"
"istio.io/istio/pilot/pkg/util/sets"
listersv1 "k8s.io/client-go/listers/core/v1"
@@ -73,8 +75,17 @@ type Ingress struct {
Http2Rpc *Http2RpcConfig
}
func (i *Ingress) NeedRegexMatch() bool {
return i.Rewrite != nil && (i.IsPrefixRegexMatch() || i.IsFullPathRegexMatch())
func (i *Ingress) NeedRegexMatch(path string) bool {
if i.Rewrite == nil {
return false
}
if strings.ContainsAny(path, `\.+*?()|[]{}^$`) {
return true
}
if strings.ContainsAny(i.Rewrite.RewriteTarget, `$\`) {
return true
}
return i.IsPrefixRegexMatch() || i.IsFullPathRegexMatch()
}
func (i *Ingress) IsPrefixRegexMatch() bool {