Azure应用程序网关将“ / *”转发到后端池

时间:2018-06-28 16:04:14

标签: azure routing azure-application-gateway

我有一个使用Path-Based routing设置的Azure应用程序网关,可以在两个不同的后端池之间进行路由。我还在其中一个池上配置了Application Insights,稍后我将再次介绍。我的路径规则是这样配置的:

/home/* -> Backend Pool 1 /* -> Backend Pool 2

我从未能够连接到Backend Pool 1,但是我已经能够成功在Backend Pool 2连接到/*,当我能够做到这一点时,转到{{ 1}}仍将发送到那里不存在的/home/*。我尝试在“ HTTP设置”上使用Backend Pool 2设置,但是这两种路由均不起作用,并且会出现 502 错误。很自然地,我试图逆转该设置,但是什么都不会改变。

但是,我确实在Override Backend Path的Application Insights中注意到,删除 Backend Pool 2设置后,服务器池正在接收Override Backend Path作为一部分的请求,因此收到 400 错误,因为该路由不存在并且URL中不允许使用该字符(值得注意的是,我的web.config文件没有请求URL字符限制)。

我知道,鉴于来自Azure的文档数量,这种类型的路由是可行的,但是我已经处理了两个星期的问题,并且已经遍历了所有文档碎片,而且似乎无处可寻

为了澄清,我的具体问题是:

鉴于我已经尝试过的事情,我是否在配置中丢失了某些东西,我的配置有问题吗?

我很乐意澄清您认为我遗漏的任何观点。

编辑:添加一个规则的配置及其上下文的路径映射。

/*

]

1 个答案:

答案 0 :(得分:1)

规则按照指定的顺序进行评估。可能是您在基于路径的规则之前有一个基本规则。这将导致基本规则拦截所有流量并路由到该规则中指定的后端池。如果不是这种情况,则粘贴规则配置可能会有所帮助。

- 编辑

我在我们的监控系统中查看了您的配置详细信息。这是因为探针配置错误。您在/ *探针中无效。探针应指向返回200 http响应代码的现有页面。另外,您不需要路径替代,可以将其删除。正确配置探针后,请确保后端运行状况报告将所有后端服务器显示为正常。然后,基于路径的规则将按预期工作。

相关问题