跳到主要内容

四层路由

本文档将介绍 APISIX 中四层路由的基本概念以及为什么需要它们。

在文档末尾探索其他资源,以获取有关相关主题的更多信息。

概述

在 APISIX 中,当 APISIX 作为流代理运行,在传输层处理 TCP 和 UDP 连接时,使用_四层路由_(Stream Route)对象来创建路由。这类似于 APISIX 作为应用层代理时的路由概念。

下图说明了四层路由对象的概念。在此示例中,APISIX 充当使用 TCP 协议进行通信的 MySQL 服务器的流代理。APISIX 部署在 IP 地址 192.168.1.10,并配置为在端口 9500 上监听 TCP 连接:

APISIX and MySQL Server with one stream route restricting on client IP address

四层路由中的 client_addr 字段根据客户端 IP 进行过滤,确保只允许源自指定 IP 地址的请求通过此路由到达上游 MySQL 服务器。虽然两个客户端都使用了正确的凭据连接到 MySQL 服务器,但只有 IP 地址在 client_addr 白名单中的客户端才被允许建立连接。

除了 client_addr 字段外,还可以配置其他字段(例如 server_addrserver_port)来过滤传入请求,然后再拒绝它们或将其转发到上游服务。要了解有关这些字段和其他配置选项的更多信息,请参阅四层路由的 Admin API 参考(即将推出)。

有关如何将 APISIX 配置为流代理的详细说明,请参阅 代理传输层 (L4) 流量 操作指南。

其他资源