Orange是一个基于OpenResty的API Gateway,提供API及自定义规则的监控和管理,如访问统计、流量切分、API重定向、API鉴权、WEB防火墙等功能。Orange可用来替代前置机中广泛使用的Nginx/OpenResty, 在应用服务上无痛前置一个功能丰富的网关系统。它有以下特性:
-
动态更新Nginx/OpenResty配置而无需重启或reload
-
通过MySQL存储来简单支持集群部署
-
支持多种条件匹配和变量提取
-
支持通过自定义插件方式扩展功能
-
内置多个通用插件
-
全局状态统计
-
自定义监控
-
URL重写
-
URI重定向
扫描二维码关注公众号,回复: 5737005 查看本文章 -
访问限速
-
Key based rate limiting
-
HTTP Basic Auth
-
HTTP Key Auth
-
Signature Auth
-
简单防火墙WAF
-
代理、ABTesting、分流
-
Shared Dict存取接口
-
-
提供Dashboard用于管理内置插件
-
开放API: 所有插件均开放API供第三方使用, 通过这些API可简单灵活得配置插件、查看运行状态、统计数据等
-
架构简单,依赖少,许可协议宽松,适合直接二次开发或改造
0.7 版本 CHANGELOG
- 支持通过cookie、随机数、HTTP method进行拦截过滤
- 新增取余的方式进行匹配规则
- 新增kafka、balancer、consul_balancer、persist log、node插件
- 修复一些已知bug:后台页面展示异常
- 对后台页面、balancer等模块的代码和文档说明的重构
- 修复了issue#160,解决balancer开关未打开时出现invalid URL prefix in "" 的错误
- 修复了issue#162,解决选择器类型为1时continue=false的错误
- 修复了issue#233,解决proxy read timeout配置无效的问题
- 修复了issue#236,解决忽略大小写进行匹配鉴权值的问题
- 修改Makefile
- 使用指定版的依赖
GitHub 地址:https://github.com/sumory/orange