Kong — proxy
文章目录
- 三个配置属性
- 代理
- 如何配置代理服务
三个配置属性
proxy_listen
定义了address/port列表,若一个客户端的地址及端口符合该属性的值,那么kong就会将该客户端的http流量代理到上游服务。该属性的默认端口是8000
。admin_listen
同样定义了address/port列表,但是其仅提供给管理员访问,其作用是为管理员提供配置能力。默认端口是8001
。stream_listen
与proxy_listen
相似,但只代理TCP,TLS。默认不开启。
代理
以http为例,kong会监听8000端口(默认配置)上客户端发送来的http流量,然后根据你所配置的Routes信息来分析客户端请求是否相符。如果符合,kong将会代理该请求到后端服务。
关于路由的匹配,http,tcp和grpc都有其指定的属性,只有当进来的请求符合相应的属性,才能完成路由匹配,否则会被kong拒绝掉。
路由匹配原则:
一个请求必须包含所有的配置字段
请求的每一字段值必须至少符合相应配置字段值的其中之一(路由配置中一个字段可以配置多个值)
Subsystems and routing attributes:
http
:methods
,hosts
,headers
,paths
(andsnis
, ifhttps
)tcp
:sources
,destinations
(andsnis
, iftls
)grpc
:hosts
,headers
,paths
(andsnis
, ifgrpcs
)
如何配置代理服务
通过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 }
添加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 }
访问
代理端口默认为8000。
/foo
是路由中paths
中的值。$ curl -X POST http://127.0.0.1:8000/foo
Kong — proxy相关推荐
- Kong——Proxy文档
通过详细解释Kong的路由功能和内部工作原理来介绍Kong的代理功能 Kong公开几个接口,可以调整两个配置属性: proxy_listen:定义了一个地址/端口列表--Kong将接受来自客户端的流量 ...
- Kong APIGW — 基本操作
目录 文章目录 目录 非安全访问 创建 Service 创建 Route 创建 Upstream 创建 Targets 调用测试 Front-End 安全访问,Backend 非安全访问 使用默认 K ...
- kong 自建一个具有健康检查功能的http/tcp负载均衡器,配置流量权重,自动/手动目标健康,流量统一认证、鉴权、限流限速、修正,监控、日志等功能
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 Kong 目前kong的最新版为2.2,官方git在https://github.com/Kong/kong,下面是一个kong的简单结构 kong的 ...
- kong的介绍与使用
版本说明 本次学习安装kong在2.1.4版本,konga版本0.14.9 此文档地址获取地址: https://gitee.com/PengFei-io/introduction-and-use-o ...
- 在K3s上使用Kong网关插件,开启K3s的无限可能!
我的工作中很重要的一部分是参加各种各样的技术会议.最近参加的是去年11月的北美KubeCon,在会议的最后一天,所有人都焦头烂额,我也一直机械地向不同的人重复我的自我介绍.后来,我已经十分烦躁,决定逃 ...
- 微服务API网关-kong初探
一 概述 Kong是一个clould-native.快速的.可扩展的.分布式的微服务抽象层(也称为API网关.API中间件或在某些情况下称为服务网格)框架.更确切地说,Kong是一个在Nginx中运行 ...
- 微服务网关Kong 1.0正式发布!提供100+项功能
今天,我们很高兴地发布Kong 1.0 GA--一个可扩展.快速.开源的微服务API网关,用于管理.保护和连接混合和云原生架构.Kong位于服务之前,并可通过插件进行扩展,包括身份验证.流量控制.可观 ...
- 微服务网关 Kong 科普
Kong 是由 Mashape 开发的并于2015年开源的一款API 网关,它是基于OpenResty(Nginx + Lua模块)和 Apache Cassandra/PostgreSQL 构建的, ...
- API网关Kong(二):Kong与Kubernetes集成的方法
作者: 李佶澳 转载请保留:原文地址 发布时间:2018-09-30 16:07:13 +0800 说明 先说组成 控制平面与数据平面 CustomResourceDefinitions 开始 ...
最新文章
- capcreatecapturewindowa 说明_家长不批改作业,还需要写情况说明?
- 服务器虚拟主机划分,服务器划分虚拟主机教程
- 戴帽子对眼睛是否有好处
- matlab 12位 显示不出来,求助大神,为何不同机器运行MATLAB结果不同
- react避免子组件渲染_如何与React一起使用正确的方法来避免一些常见的陷阱
- Linux(Centos7) 设置静态IP
- ie8支持jq的html,jquery 什么版本不能用 ie8
- 何时不应该使用 Rails?
- varnish与squid的比较
- DHCP服务、NFS、vsftp服务的简单搭建
- 理想的低通滤波器、巴特沃斯滤波器、高斯滤波器
- 5、OC —— @property和@synthesize
- win7便签怎么一直在桌面显示
- 需求分析师面试题案例_如何准备作为分析师的业务案例面试
- 项目管理知识体系指南(五)项目时间管理
- 设计模式——策略模式
- 高德地图添加Marker点标记
- openlayers3(五)根据坐标点画圆、线、多边形
- voxelmorph中的STN网络
- python音乐库_python - 网易云音乐的 Python 组件库
热门文章
- Kettle基本操作
- 进销存系统哪个简单好用?
- 群晖ds服务器型号,【群晖 Synology DS1517 服务器开箱简评】性能|扩充性|CPU|容量_摘要频道_什么值得买...
- “智农”农业元宇宙一体化管控平台
- 【笔记】雾计算中移动应用的优先级约束任务调度
- [TGE游戏引擎粒子系统研究]制作逼真得爆炸效果--展示篇
- 轻松熊喵喵个人笔记 -- siki学院java教学
- html去除图片边框颜色,在PS中怎样做,可以将图片去除所有颜色,只留边框(描边)?...
- iOS Hit-Testing
- [含lw+源码等]S2SH+mysql水费管理系统[包运行成功]Java毕业设计计算机毕设