确定 Azure 应用程序网关路由

已完成

客户端通过指定应用程序网关的 IP 地址或 DNS 名称向 Web 应用发送请求。 网关根据一组规则将请求定向到后端池中选定的 Web 服务器。 你需要为网关定义规则,以确定请求流量的允许路由。

有关流量路由的注意事项

让我们更详细地了解一下 Azure 应用程序网关的路由选项。

  • Azure 应用程序网关提供两种主要方法来路由流量:

    • 基于路径的路由将具有不同 URL 路径的请求发送到不同的后端服务器池。

    • 多站点路由可在同一应用程序网关实例上配置多个 Web 应用程序。

  • 可以将应用程序网关配置为重定向流量。

    应用程序网关可以将一个侦听器上收到的流量重定向到另一个侦听器或外部站点。 Web 应用通常使用此方法自动重定向 HTTP 请求,通过 HTTPS 进行通信。 重定向可确保 Web 应用与客户端之间的所有通信都通过加密路径进行。

  • 可以实现应用程序网关来重写 HTTP 标头。

    通过 HTTP 标头,客户端和服务器可连同请求或响应一起传递参数信息。 在这种情况下,可以转换 URL 或查询字符串参数,并修改请求头和响应头。 添加条件以确保只在特定条件下重写 URL 或标头。

  • 应用程序网关允许你创建自定义错误页而非显示默认错误页。 你可以在自定义错误页面上使用自己的品牌和布局。

基于路径的路由

可以实现基于路径的路由,将针对特定 URL 路径的请求定向到相应的后端池。 假设有一个场景,其中 Web 应用接收针对视频或图像的请求。 你可以使用基于路径的路由,将针对 /video/\* 路径的请求定向到为处理视频流而优化的服务器的后端池。 针对 /images/\* 路径的图像请求可以定向到处理图像检索的服务器池。 下图演示了此路由方法:

Diagram that shows a path-based routing approach.

多站点路由

如果需要在同一应用程序网关实例上支持多个 Web 应用,多站点路由将是最佳选择。 多站点配置可用于支持多租户应用程序,其中每个租户有其自己的虚拟机集或托管 Web 应用程序的其他资源。

在此配置中,需要为应用程序网关的 IP 地址注册多个 DNS 名称 (CNAME),并指定每个站点的名称。 应用程序网关使用单独的侦听器来等待每个站点的请求。 每个侦听器将请求传递给不同的规则,该规则可以将请求路由到不同后端池中的服务器。

假设有一个场景需要支持流向同一网关上两个站点的流量。 可以将针对 http://contoso.com 站点的所有请求定向到一个后端池中的服务器,将针对 http://fabrikam.com 站点的请求定向到另一个后端池中的服务器。 下图演示了此路由方法。

Diagram that shows a multiple site routing approach.