AWS Application Load Balancer-转义路径模式字符

我已经在EKS中部署了一个AWS ALB入口控制器,并且k8s创建了一个AWS ALB并创建了一些规​​则来转发流量:

如文档所述:

https://docs.aws.amazon.com//elasticloadbalancing/latest/application/load-balancer-listeners.html

  

路径条件

     

您可以使用路径条件来定义基于请求中的URL路由请求的规则(也称为基于路径的路由)。   路径模式仅应用于URL的路径,而不应用于其查询参数。   路径模式区分大小写,最大长度为128个字符,并且可以包含以下任何字符。

     

AZ,az,0-9

     

_-。 $ /〜“'@:+

     

&(使用&)

     

*。 (匹配0个或更多字符)

     

? (正好匹配1个字符)


我有两个规则

1. IF Path is /api/* THEN Forward to XXX
2. IF Path is /* THEN Forward to YYY
我的网络应用程序中的

URL 是:

 1. example.com/api/users/1 Forward to XXX [200 - OK]
 2. example.com/signin Forward to YYY [200 - OK]
 3. example.com/login-user returns 404 (the hyphen is recognized as a pattern)

预期:将请求3转发到YYY的规则

我尝试过:

IF Path is /* THEN Forward to YYY

没有运气,在文档中什么也没说,所以我如何转义连字符以将请求3转发给YYY?

PD :我大约有50个带连字符的字符,我不想重写它们。

qwezxcsl 回答:AWS Application Load Balancer-转义路径模式字符

有点骇人听闻,但请尝试按/login?user/*进行操作。

问号应与连字符匹配。当然,它可以匹配任何字符,但这确实不会影响您的URL分辨率,除非您的URL路径中存在一些奇怪的冲突,例如/ loginfuser或其他内容。

本文链接:https://www.f2er.com/3120671.html

大家都在问