应用程序网关 TCP/TLS 代理概述(预览)

除了现有的第 7 层功能(HTTP、HTTPS、WebSocket 和 HTTP/2),Azure 应用程序网关现在还支持第 4 层(TCP 协议)和 TLS(传输层安全性)代理。 此功能目前处于公开预览状态。 若要预览此功能,请参阅 注册到预览版

应用程序网关上的 TLS/TCP 代理功能

作为反向代理服务,应用程序网关的第 4 层操作的工作方式类似于第 7 层代理操作。 客户端会与应用程序网关建立 TCP 连接,应用程序网关本身会从后端池启动到后端服务器的新 TCP 连接。 下图显示了典型操作。

TCP/TLS 代理工作原理概览图。

处理流:

  1. 客户端使用其前端侦听器的 IP 地址和端口号启动与应用程序网关的 TCP 或 TLS 连接。 这会建立前端连接。 建立连接后,客户端将使用所需的应用程序层协议发送请求。
  2. 应用程序网关从关联的后端池与其中一个后端目标建立新连接(形成后端连接),并将客户端请求发送到该后端服务器。
  3. 后端服务器的响应由应用程序网关发送回客户端。
  4. 除非 TCP 空闲超时关闭该连接,否则同一前端 TCP 连接用于来自客户端的后续请求。

将 Azure 负载均衡器与 Azure 应用程序网关进行比较:

产品 类型
Azure 负载均衡器 直通负载均衡器,其中客户端直接与负载均衡器的分发算法选择的后端服务器建立连接。
Azure 应用程序网关 终止负载均衡器,其中客户端直接与应用程序网关建立连接,并使用应用程序网关的分发算法选择的后端服务器启动单独的连接。

功能

  • 使用单个终结点(前端 IP)为 HTTP 和非 HTTP 工作负载提供服务。 同一应用程序网关部署可以支持第 7 层和第 4 层协议:HTTP(S)、TCP 或 TLS。 所有客户端都可以连接到同一终结点并访问不同的后端应用程序。
  • 使用自定义域来前端任何后端服务。 使用应用程序网关 V2 SKU 的前端作为公共和专用 IP 地址,可以将任何自定义域名配置为使用地址 (A) 记录来指向其 IP 地址。 此外,凭借来自专用证书颁发机构 (CA) 的证书的 TLS 终止和支持,可以确保所选域中的安全连接。
  • 从任何位置(Azure 或本地)使用后端服务器。 应用程序网关的后端可以是:
    • Azure 资源,例如 IaaS 虚拟机、虚拟机规模集或 PaaS(应用服务、事件中心、SQL)
    • 可通过 FQDN 或 IP 地址访问的远程资源,例如本地服务器
  • 支持专用网关。 借助对专用应用程序网关部署的 TLS 和 TCP 代理支持,可以在隔离环境中支持 HTTP 和非 HTTP 客户端,以提高安全性。

限制

  • WAF v2 SKU 网关允许创建 TLS 或 TCP 侦听器和后端,以支持通过同一资源进行 HTTP 和非 HTTP 流量。 但是,它不会检查 TLS 和 TCP 侦听器上的流量是否存在攻击和漏洞。
  • 后端服务器的默认清空超时值为 30 秒。 目前不支持用户定义的清空值。
  • 当前不支持客户端 IP 保留。

后续步骤