Orange:一个基于OpenResty的API网关

orange是一个基于openresty的API Gateway,提供API及自定义规则的监控和管理,如访问统计、流量切分、API重定向、API鉴权、WEB防火墙等功能。Orange可用来替代前置机中广泛使用的Nginx/OpenResty, 在应用服务上无痛前置一个功能丰富的网关系统。它有以下特性:

  • 动态更新Nginx/OpenResty配置而无需重启或reload
  • 通过MySQL存储来简单支持集群部署
  • 支持多种条件匹配和变量提取
  • 支持通过自定义插件方式扩展功能
  • 内置多个通用插件
    • 全局状态统计
    • 自定义监控
    • URL重写
    • URI重定向
    • 访问限速
    • Key based rate limiting
    • HTTP Basic Auth
    • HTTP Key Auth
    • Signature Auth
    • 简单防火墙WAF
    • 代理、ABTesting、分流
    • Shared Dict存取接口
  • 提供Dashboard用于管理内置插件
  • 开放API: 所有插件均开放API供第三方使用, 通过这些API可简单灵活得配置插件、查看运行状态、统计数据等。
  • 架构简单,依赖少,许可协议宽松,适合直接二次开发或改造。

安装依赖

  • OpenResty: 版本应在1.9.7.3+
    • Orange的监控插件需要统计http的某些状态数据,所以需要编译OpenResty时添加--with-http_stub_status_module
    • 由于使用了*_block指令,所以OpenResty的版本最好在1.9.7.3以上.
  • lor框架
    • 若使用的Orange版本低于v0.6.2则应安装lor v0.2.*版本
    • 若使用的Orange版本高于或等于v0.6.2则应安装lor v0.3.0+版本
  • MySQL
    • 配置存储和集群扩展需要MySQL支持。从0.2.0版本开始,Orange去除了本地文件存储的方式,目前仅提供MySQL存储支持.

 具体安装参照:

 http://orange.sumory.com/install/

  测试一把之后整体感觉不错,可以值得研究下。

 


初步的使用了下orange api 网管。
开发的还真的是不错。并且使用起来也很简单。貌似功能很多。
主要还是使用了 openresty的lua 把url 转发,跳转,拦截做成了可视化的配置。

官网地址:
http://orange.sumory.com/install

github:

https://github.com/sumory/orange/

关键词: orange , openresty

上一篇: X-Frame-Options头未设置轻微漏洞的修复问题
下一篇: 最新Fiddler抓包https教程及Fiddler在ios10.3抓包https失败解决办法

目前还没有人评论,您发表点看法?
发表评论

评论内容 (必填):