应用程序网关重定向概述
可以使用应用程序网关来重定向流量。 它有一种泛型重定向机制,可以将一个侦听器上接收的流量重定向到另一个侦听器或外部站点。 这样可以简化应用程序配置、优化资源使用情况,并支持全局重定向和基于路径的重定向等新的重定向方案。
为确保应用程序及其用户之间的所有通信都通过加密路径进行,适用于许多 Web 应用的常见重定向方案是支持 HTTP 到 HTTPS 自动重定向。 过去用户曾使用创建专用的后端池等技术,其唯一目的在于将通过 HTTP 接收的请求重定向到 HTTPS。 由于应用程序网关提供重定向支持,因此你可以很容易地完成此操作,只需向路由规则添加一个新的重定向配置,然后将使用 HTTPS 协议的另一个侦听器指定为目标侦听器即可。
重定向类型
重定向类型会设置响应状态代码,以便客户端理解重定向的目的。 支持以下类型的重定向:
- 301(永久移动) :指示已为目标资源分配了新的永久 URI。 以后对该资源的任何引用都将使用包含的 URI 之一。 将 301 状态代码用于 HTTP 到 HTTPS 重定向。
- 302(找到) :指示目标资源暂时驻留在其他 URI 下。 由于重定向有时会发生更改,因此客户端应继续对将来的请求使用有效的请求 URI。
- 303(查看其他):指示目标资源正在将用户代理重定向到其他资源,如位置标头字段中的 URI 指示。
- 307(未找到) :指示目标资源暂时驻留在其他 URI 下。 如果用户代理自动重定向到该 URI,则绝不能更改该请求方法。 由于重定向会随着时间的推移而改变,因此客户端应继续对将来的请求使用原始的有效请求 URI。
重定向功能
侦听器重定向
从一个侦听器重定向到另一个侦听器。 侦听器重定向通常用于启用 HTTP 到 HTTPS 重定向。
使用多站点目标侦听器配置重定向时,需要将所有主机名(具有或不具有通配符)定义为源侦听器的一部分,同时也是目标侦听器的一部分。 这样做可确保在配置 HTTP 到 HTTPS 重定向时,不会因目标侦听器缺失主机名而删除任何流量。
基于路径的重定向
这种类型的重定向只能在特定站点区域内启用重定向,例如,将由 /cart/* 表示的购物车区域的 HTTP 请求重定向到 HTTPS。
重定向到外部站点
进行此更改后,客户需要创建新的重定向配置对象,以指定重定向需要指向的目标侦听器或外部站点。 配置元素还支持一些选项,通过这些选项可以将 URI 路径和查询字符串追加到重定向的 URL。 也可选择重定向的类型。 创建此重定向配置后,会通过新规则将其附加到源侦听器。 使用基本规则时,重定向配置与源侦听器相关联,并且是全局重定向。 使用基于路径的规则时,将在 URL 路径映射中定义重定向配置。 因此,它仅适用于站点的特定路径区域。