首页 > 其他分享 >apisix Admin API配置TCP路由转发

apisix Admin API配置TCP路由转发

时间:2024-10-09 14:44:30浏览次数:10  
标签:http stream Admin upstream TCP API 路由 mysql apisix

apisix Admin API配置TCP路由转发

 

一、开启和配置stream代理

  1、修改/usr/local/apisix/conf/config.yaml文件

    新增以下配置

 apisix:
  proxy_mode: http&stream
  stream_proxy:
    tcp:
      - 9100
      - "192.168.1.110:9101"
    udp:
      - 9200

  proxy_mode: 为开启stream,默认是http,这里修改为http&stream

  stream_proxy: 配置tcp和udp信息。

 

  2、重启apisix服务

systemctl restart apisix

 

二、配置上游服务

curl http://127.0.0.1:9180/apisix/admin/upstreams  \
-H "X-API-KEY: $admin_key" -i -X PUT -d '
{
  "id": "test-upstream-mysql",
  "name": "mytest-upstream-mysql",
  "desc": "测试upstream-mysql",
  "scheme": "tcp",
  "keepalive_pool": {
    "idle_timeout": 60,
    "requests": 1000,
    "size": 320
  },
  "nodes": [
    {
      "host": "192.168.1.110",
      "priority": 0,
      "port": 3306,
      "weight": 1
    }
  ],
  "timeout": {
    "connect": 6,
    "send": 6,
    "read": 6
  },
  "type": "roundrobin",
  "checks": {
    "active": {
      "http_path": "/",
      "type": "tcp",
      "concurrency": 10,
      "timeout": 3,
      "healthy": {
        "http_statuses": [
          200,
          302
        ],
        "interval": 3,
        "successes": 1
      },
      "unhealthy": {
        "http_statuses": [
          429,
          404,
          500,
          501,
          502,
          503,
          504,
          505
        ],
        "interval": 3,
        "http_failures": 2,
        "tcp_failures": 2,
        "timeouts": 2
      }
    }
  }
}'

 

三、配置路由

  1、配置通用路由,则9100、9101端口都可以转发tcp,9200可以转发udp

curl http://127.0.0.1:9180/apisix/admin/stream_routes -H "X-API-KEY: $admin_key" -X PUT -d '
{
    "id": "test-stream",
    "upstream_id": "test-upstream-mysql"
}'

 

  2、配置匹配路由,则只有匹配到IP、端口或者IP+端口的情况才做转发。

curl http://127.0.0.1:9180/apisix/admin/stream_routes -H "X-API-KEY: $admin_key" -X PUT -d '
{
    "id": "test-stream",
    "server_addr": "192.168.1.110",
    "server_port": 9101,
    "upstream_id": "test-upstream-mysql"
}'

 

四、验证匹配路由

[root@archive ~]# mysql -h 192.168.1.110 -P 9100 -uroot -p
Enter password: 
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 2
[root@localhost ~]# mysql -h 192.168.1.110 --port=9101 -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 26
...
mysql>

 

标签:http,stream,Admin,upstream,TCP,API,路由,mysql,apisix
From: https://www.cnblogs.com/NanZhiHan/p/18454193

相关文章

  • 创建空webapi服务
     1.打开vs2019,选择创建新项目2.选择ASP.NETWeb应用程序(.NETFramework) 3.配置项目信息(名称,位置,框架)4.选择空模板(WebAPI复选框选中)5.这样里面就没有MVC的三层,因为前后端分离,webapi中只有两层。6.空的WebApi程序创建完成。 ......
  • python静默活体检测接口集成-人脸识别API-人脸认证
    静默活体检测是一种不需要用户主动配合(如眨眼、点头等)的活体检测技术,通常通过摄像头采集用户的人脸图像,结合计算机视觉与AI算法来判断用户是否为真人。这项技术被广泛应用于身份验证、金融交易安全、智能门禁等领域。确定接口供应商和接口规范在集成静默活体检测功......
  • CC-Link IEFB转Modbus TCP总线协议转换网关
    一,设备主要功能捷米特JM-CCLKIE-TCP网关实现连接到CC-LinkIEFieldBasic总线中做为从站使用,连接到ModbusTCP总线中做为主站或从站使用。应用广泛:捷米特JM-CCLKIE-TCP广泛应用于支持ModbusTCP接口的上位机、变频器、仪表、马保等等。例如在印染设备中,通过该网关可以将印染......
  • 计算机网络 tcp和udp
    目录一、TCP建立连接-TCP三次握手1)什么是半连接队列和全连接队列?2)为什么要三次握手?3)三次握手过程中可以携带数据吗?断开连接-TCP四次挥手1)为什么要四次挥手?2)为什么不能把服务端发送的ACK和FIN合并起来,变成三次挥手?3)如果第二次挥手时服务端的ACK没有送......
  • 散户如何获取量化交易的API接口?
    炒股自动化:申请官方API接口,散户也可以python炒股自动化(0),申请券商API接口python炒股自动化(1),量化交易接口区别Python炒股自动化(2):获取股票实时数据和历史数据Python炒股自动化(3):分析取回的实时数据和历史数据Python炒股自动化(4):通过接口向交易所发送订单Python炒股自动化(5):......
  • 五行强度得分_喜用神api免费接口_json数据八字五行强弱接口
    本API接口基于深厚的八字学原理,为用户提供详尽的五行(金、木、水、火、土)强弱分析、五行打分评估,以及精准的喜用神判断。用户只需输入自己的八字信息,即可获得全面而深入的命理解读。‌一、核心功能‌‌五行强弱分析‌:依据用户八字,精准分析五行在命盘中的分布与强弱状态。揭示五......
  • 【Spring Security OAuth2】- 【使用Spring MVC开发RESTful API】 异步处理rest服务
    作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析......
  • 【Spring Security OAuth2】- 【使用Spring MVC开发RESTful API】 使用切片拦截rest服
    作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬学习必须往深处挖,挖的越深,基础越扎实!阶段1、深入多线程阶段2、深入多线程设计模式阶段3、深入juc源码解析阶段4、深入jdk其余源码解析......
  • Google:敏感信息访问权限和 API 政策更新
    目录公布时间公布内容内容有关GooglePlay照片和视频权限政策的详细信息截止时间相关问题公布时间公布日期:2023-10-25公布内容内容为向用户提供更注重隐私保护的体验,我们将推出“照片和视频访问权限”政策,以减少获准针对照片/视频请求广泛权限(READ_......
  • API 学习路线图
    无论您是初学者还是经验丰富的开发人员,都希望了解API,这份全面的API学习路线图将指导您了解需要掌握的关键概念和技术:1.API简介  API定义:API是一组用于构建软件应用程序的协议、例程和工具。它指定了软件组件应如何交互。  API类型:   公共API:开放供外部开......