首页 > 解决方案 > 如何使用 Azure 应用程序网关路由到另一条路径?

问题描述

我想使用 Azure 应用程序网关将 Azure Web App 服务中的 URL 路径重定向到另一个 URL 路径。如何避免重定向以包含原始路径?

在此处输入图像描述 我在 Azure 中有一个 ASP.NET framework 4.7 Web App 服务,它有两个 API:

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 !!!

意味着重定向包括原始路径!“包含路径”在配置中未选中并显示为灰色。 在此处输入图像描述

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

标签: azureazure-web-app-service

解决方案


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

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

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


推荐阅读