文章目录

  • 三个配置属性
  • 代理
  • 如何配置代理服务

三个配置属性

  • proxy_listen定义了address/port列表,若一个客户端的地址及端口符合该属性的值,那么kong就会将该客户端的http流量代理到上游服务。该属性的默认端口是8000

  • admin_listen同样定义了address/port列表,但是其仅提供给管理员访问,其作用是为管理员提供配置能力。默认端口是8001

  • stream_listenproxy_listen相似,但只代理TCP,TLS。默认不开启。

代理

以http为例,kong会监听8000端口(默认配置)上客户端发送来的http流量,然后根据你所配置的Routes信息来分析客户端请求是否相符。如果符合,kong将会代理该请求到后端服务。

关于路由的匹配,http,tcp和grpc都有其指定的属性,只有当进来的请求符合相应的属性,才能完成路由匹配,否则会被kong拒绝掉。

路由匹配原则:

  • 一个请求必须包含所有的配置字段

  • 请求的每一字段值必须至少符合相应配置字段值的其中之一(路由配置中一个字段可以配置多个值)

Subsystems and routing attributes:

  • http: methods, hosts, headers, paths (and snis, if https)
  • tcp: sources, destinations (and snis, if tls)
  • grpc: hosts, headers, paths (and snis, if grpcs)

如何配置代理服务

  1. 通过Admin API添加一个Service

    url是你的后端服务访问地址

    $ curl -i -X POST http://127.0.0.1:8001/services/ \-d 'name=foo-service' \-d 'url=http://foo-service.com'{"host":"www.baidu.com","id":"db5428d3-8756-40ac-a401-e8b53576bd8c",              "protocol":"http","read_timeout":60000,"tls_verify_depth":null,"port":80,"updated_at":1615735745,"ca_certificates":null,"created_at":1615735745,"connect_timeout":60000,"write_timeout":60000,"name":"foo-service","retries":5,"path":null,"tls_verify":null,"tags":null,"client_certificate":null
    }
    
  2. 添加Routes

    $ curl -i -X POST http://127.0.0.1:8001/routes/ \-d 'hosts[]=127.0.0.1' \-d 'paths[]=/foo' \-d 'service.id=db5428d3-8756-40ac-a401-e8b53576bd8c' {"strip_path":true,"tags":null,"updated_at":1615736087,"destinations":null,"headers":null,"protocols":["http","https"],"methods":null,"service":{"id":"db5428d3-8756-40ac-a401-e8b53576bd8c"},"snis":null,"hosts":["127.0.0.1"],"name":null,"path_handling":"v0","paths":["/foo"],"preserve_host":false,"regex_priority":0,"response_buffering":true,"sources":null,"id":"e0a8151f-81dd-4336-9edd-38558eb376ac","https_redirect_status_code":426,"request_buffering":true,"created_at":1615736087
    }
    
  3. 访问

    代理端口默认为8000。/foo是路由中paths中的值。

    $ curl -X POST http://127.0.0.1:8000/foo
    

Kong — proxy相关推荐

  1. Kong——Proxy文档

    通过详细解释Kong的路由功能和内部工作原理来介绍Kong的代理功能 Kong公开几个接口,可以调整两个配置属性: proxy_listen:定义了一个地址/端口列表--Kong将接受来自客户端的流量 ...

  2. Kong APIGW — 基本操作

    目录 文章目录 目录 非安全访问 创建 Service 创建 Route 创建 Upstream 创建 Targets 调用测试 Front-End 安全访问,Backend 非安全访问 使用默认 K ...

  3. kong 自建一个具有健康检查功能的http/tcp负载均衡器,配置流量权重,自动/手动目标健康,流量统一认证、鉴权、限流限速、修正,监控、日志等功能

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 Kong 目前kong的最新版为2.2,官方git在https://github.com/Kong/kong,下面是一个kong的简单结构 kong的 ...

  4. kong的介绍与使用

    版本说明 本次学习安装kong在2.1.4版本,konga版本0.14.9 此文档地址获取地址: https://gitee.com/PengFei-io/introduction-and-use-o ...

  5. 在K3s上使用Kong网关插件,开启K3s的无限可能!

    我的工作中很重要的一部分是参加各种各样的技术会议.最近参加的是去年11月的北美KubeCon,在会议的最后一天,所有人都焦头烂额,我也一直机械地向不同的人重复我的自我介绍.后来,我已经十分烦躁,决定逃 ...

  6. 微服务API网关-kong初探

    一 概述 Kong是一个clould-native.快速的.可扩展的.分布式的微服务抽象层(也称为API网关.API中间件或在某些情况下称为服务网格)框架.更确切地说,Kong是一个在Nginx中运行 ...

  7. 微服务网关Kong 1.0正式发布!提供100+项功能

    今天,我们很高兴地发布Kong 1.0 GA--一个可扩展.快速.开源的微服务API网关,用于管理.保护和连接混合和云原生架构.Kong位于服务之前,并可通过插件进行扩展,包括身份验证.流量控制.可观 ...

  8. 微服务网关 Kong 科普

    Kong 是由 Mashape 开发的并于2015年开源的一款API 网关,它是基于OpenResty(Nginx + Lua模块)和 Apache Cassandra/PostgreSQL 构建的, ...

  9. API网关Kong(二):Kong与Kubernetes集成的方法

    作者: 李佶澳   转载请保留:原文地址   发布时间:2018-09-30 16:07:13 +0800 说明 先说组成 控制平面与数据平面 CustomResourceDefinitions 开始 ...

最新文章

  1. capcreatecapturewindowa 说明_家长不批改作业,还需要写情况说明?
  2. 服务器虚拟主机划分,服务器划分虚拟主机教程
  3. 戴帽子对眼睛是否有好处
  4. matlab 12位 显示不出来,求助大神,为何不同机器运行MATLAB结果不同
  5. react避免子组件渲染_如何与React一起使用正确的方法来避免一些常见的陷阱
  6. Linux(Centos7) 设置静态IP
  7. ie8支持jq的html,jquery 什么版本不能用 ie8
  8. 何时不应该使用 Rails?
  9. varnish与squid的比较
  10. DHCP服务、NFS、vsftp服务的简单搭建
  11. 理想的低通滤波器、巴特沃斯滤波器、高斯滤波器
  12. 5、OC —— @property和@synthesize
  13. win7便签怎么一直在桌面显示
  14. 需求分析师面试题案例_如何准备作为分析师的业务案例面试
  15. 项目管理知识体系指南(五)项目时间管理
  16. 设计模式——策略模式
  17. 高德地图添加Marker点标记
  18. openlayers3(五)根据坐标点画圆、线、多边形
  19. voxelmorph中的STN网络
  20. python音乐库_python - 网易云音乐的 Python 组件库

热门文章

  1. Kettle基本操作
  2. 进销存系统哪个简单好用?
  3. 群晖ds服务器型号,【群晖 Synology DS1517 服务器开箱简评】性能|扩充性|CPU|容量_摘要频道_什么值得买...
  4. “智农”农业元宇宙一体化管控平台
  5. 【笔记】雾计算中移动应用的优先级约束任务调度
  6. [TGE游戏引擎粒子系统研究]制作逼真得爆炸效果--展示篇
  7. 轻松熊喵喵个人笔记 -- siki学院java教学
  8. html去除图片边框颜色,在PS中怎样做,可以将图片去除所有颜色,只留边框(描边)?...
  9. iOS Hit-Testing
  10. [含lw+源码等]S2SH+mysql水费管理系统[包运行成功]Java毕业设计计算机毕设