如何使用Azure应用程序网关路由到其他路径?

时间:2020-02-19 12:44:57

标签: azure azure-web-app-service

我想使用Azure Application Gateway将我的Azure Web App服务中的URL路径重定向到另一个URL路径。如何避免重定向以包括原始路径?

enter image description here 我在Azure中有一个具有两个API的ASP.NET Framework 4.7 Web App服务:

https://myapp.azurewebsites.net/api/values/{int}        -> respons 200
https://myapp.azurewebsites.net/api/forbidden           -> respons 403

然后我有一个应用程序网关

http://myapp.northeurope.cloudapp.azure.com

使用基于路径的路线

http://myapp.northeurope.cloudapp.azure.com -> https://myapp.azurewebsites.net (works ok)

并永久重定向到“外部站点”

/api/values/* -> http://myapp.northeurope.cloudapp.azure.com/api/forbidden

现在,当我转到路径/ api / values / 1时,它会将我重定向到 / api / forbidden / api / values / 1

http://myapp.northeurope.cloudapp.azure.com/api/values/1 -> http://myapp.northeurope.cloudapp.azure.com/api/forbidden/api/values/1 !!!

方法重定向包括源路径! 未选中“包含路径”,并且其配置为灰色。 enter image description here

我只想限制从公共Internet访问某些API路径。

1 个答案:

答案 0 :(得分:0)

对于include path配置,我认为您可以尝试使用Azure CLIAzure PowerShell-IncludePath参数为侦听器设置重定向。

document中的重定向到外部站点,它应该具有禁用包含路径的选项。

通过此更改,客户需要创建一个新的重定向 配置对象,用于指定目标侦听器或外部对象 需要重定向到的站点。 配置元素也 支持选项以将URI路径和查询字符串附加到 重定向的网址。您还可以选择重定向的类型。 创建重定向后,此重定向配置将附加到源 通过新规则的侦听器。使用基本规则时,重定向 配置与源侦听器关联,并且是全局的 重定向。使用基于路径的规则时,重定向配置 在URL路径图上定义。因此它仅适用于特定 网站的路径区域。