配置 Azure 应用程序网关组件

已完成

Azure 应用程序网关具有一系列组件,它们结合在一起,将请求路由到 Web 服务器池,并检查这些 Web 服务器的运行状况。 这些组件包括前端 IP 地址、后端池、传递规则、运行状况探测和侦听器。 网关还可以作为实现防火墙的一个选项。

有关应用程序网关组件的注意事项

我们来了解一下应用程序网关的组件如何协同工作。

  • 前端 IP 地址接收客户端请求。

  • 可选的 Web 应用程序防火墙会在请求到达侦听器之前检查传入流量是否存在常见威胁。

  • 一个或多个侦听器接收流量并将请求路由到后端池。

  • 传递规则定义如何分析请求,以将请求定向到相应的后端池。

  • 后端池包含虚拟机或虚拟机规模集等资源的 Web 服务器。 每个池都有一个负载均衡器,用于跨资源分配工作负载。

  • 运行状况探测确定哪些后端池服务器可用于进行负载均衡。

以下流程图演示了应用程序网关组件如何协同工作,以在配置中的前端池和后端池之间定向流量请求。

Flowchart that demonstrates how Application Gateway components direct traffic requests between the frontend and back-end pools.

前端 IP 地址

通过前端 IP 地址接收客户端请求。 应用程序网关可以拥有公共和/或专用 IP 地址。 只能有一个公共 IP 地址和一个专用 IP 地址。

Web 应用程序防火墙(可选)

可以为 Azure 应用程序网关启用 Azure Web 应用程序防火墙,以便在传入请求到达侦听器之前对其进行处理。 防火墙根据 Open Web Application Security Project (OWASP) 检查每个请求是否存在威胁。 常见威胁包括 SQL 注入、跨站脚本、命令注入、HTTP 请求走私和响应拆分,以及远程文件包含。 其他威胁可能来自机器人、爬网程序、扫描程序以及 HTTP 协议冲突和异常。

OWASP 定义了一组通用规则来检测攻击。 这些规则统称为核心规则集 (CRS)。 随着攻击越来越复杂,规则集也越来越完善。 Azure Web 应用程序防火墙支持两个规则集:CRS 2.2.9 和 CRS 3.0。 CRS 3.0 版本更新,是默认的规则集。 如有必要,你可以仅选择规则集中的某些特定规则,以应对某些威胁。 此外,你可以自定义防火墙,以指定请求中要检查的元素,并限制消息的大小以防止上传量过大导致服务器崩溃。

侦听器

侦听器接受到达指定协议、端口、主机和 IP 地址组合的流量。 每个侦听器根据传递规则将请求路由到服务器的后端池。 侦听器可以是“基本侦听器”,也可以是“多站点侦听器”。 基本侦听器仅根据 URL 中的路径路由请求。 多站点侦听器还可以使用 URL 的主机名元素路由请求。 侦听器还会处理用于保护用户和应用程序网关之间应用程序的 TLS/SSL 证书。

路由规则

传递规则将侦听器绑定到后端池。 规则指定如何解释请求的 URL 中的主机名和路径元素,然后将请求定向到相应的后端池。 路由规则还具有一组关联的 HTTP 设置。 这些 HTTP 设置指示是否(以及如何)加密应用程序网关与后端服务器之间的流量。 其他配置信息包括协议、会话粘性、连接排出、请求超时时间和运行状况探测。

后端池

“后端池”指 Web 服务器集合。 配置池时,需要提供每个 Web 服务器的 IP 地址以及侦听请求的端口。 每个池可以指定一组固定的虚拟机、虚拟机规模集、由 Azure 应用服务托管的应用或本地服务器集合。 每个后端池具有关联的负载均衡器,用于将负载分散到池中。

运行状况探测

运行状况探测确定后端池中的哪些服务器可用于进行负载均衡。 应用程序网关使用运行状况探测将请求发送到服务器。 如果服务器返回状态代码为 200 至 399 的 HTTP 响应,则认为服务器正常运行。 如果没有配置运行状况探测,应用程序网关将创建在确定服务器不可用(运行不正常)之前等待 30 秒的默认探测。