一、准备工作


1.首先准备两台tomcat,分别是tomcat1和tomcat2,端口配置为8080和8082,然后启动:

3.Dashboard的使用-风君雪科技博客

2.修改两台tomcat的首页内容,修改比较显眼的位置,测试比较容易看出来不同的地方,当访问tomcat主页时,两台tomcat主页分别显示为:

3.Dashboard的使用-风君雪科技博客

3.Dashboard的使用-风君雪科技博客

 

二、配置Orange—>nginx分流


 1.进入orange目录,在进入conf目录,编辑nginx.conf:

①.配置分流

3.Dashboard的使用-风君雪科技博客

②.查看负载均衡反向代理配置:

3.Dashboard的使用-风君雪科技博客

注意:这里的$upstream_url指向http://default_upstream,注意名称和分流的名称匹配(http://不用管)

③.测试,我们要的效果是当我访问该服务器的80端口时,反向代理到上面我们配置的两台tomcat,注意:直接访问服务器的IP地址,可以不带端口,默认就是80端口

3.Dashboard的使用-风君雪科技博客

 

 

 

3.Dashboard的使用-风君雪科技博客

测试成功 !

 

三、Orange插件的使用


 说明:具体的API请看http://orange.sumory.com/docs/,这里不对API进行详细说明

1.插件API之URL重定向

①.首先,访问服务器+端口9999进入Orange自带Dashboard:

3.Dashboard的使用-风君雪科技博客

注意:没配置账户密码,访问该地址会直接进入

②.其次,开启重定向插件:

3.Dashboard的使用-风君雪科技博客

③.接着,配置重定向:

3.Dashboard的使用-风君雪科技博客

④.最后,在浏览器上,访问本地服务器IP不用添加端口,不添加端口默认就是80端口,显示的是:

3.Dashboard的使用-风君雪科技博客

接着,根据我们配置的规则,只要url中的uri匹配到/to_baidu,那么就跳转到https://www.baidu.com,所以修改访问地址为:

3.Dashboard的使用-风君雪科技博客访问后,就直接跳转到百度首页

3.Dashboard的使用-风君雪科技博客

注意:

这里配置的两台tomcat不是代表需要分流才能url重定向,这里是分流和重定向一起实现了,而如果仅仅是重定向,那么不需要配置分流 !

说白了,orange是一个api网关,nginx配置的server默认端口是80端口,也就是当我们这台网关服务器时,例:xxx.xx.xx.212/to_baidu,如果uri(to_baidu)这个uri被网关配置的规则所截获,那么会被重定向到配置的地址。

2.插件API之URL重写

什么是URL重写?用简单的例子来说就是:

访问/rewrite?a=123时, 按照规则配置,真正访问的是/to_rewrite/123,即url根据规则变化来访问 !

需求:我们结合重定向API来使用,目前按照上面的配置,只要访问xxx.xx.xx.212/to_baidu,那么会自动重定向到百度首页去,那么我们将url重新为只要访问/hello,那么url重写为/to_baidu,这时又会被重定向规则所捕获,所以结果还是跳转到百度首页去

①.开启重写插件

3.Dashboard的使用-风君雪科技博客

②.配置url重写规则

3.Dashboard的使用-风君雪科技博客

③.访问xxx.xx.xx.212/hello,会直接跳转到百度首页

3.Dashboard的使用-风君雪科技博客

官网对于重写的说明如下:

3.Dashboard的使用-风君雪科技博客

3.插件API之WAF防火墙

说明:是对筛选出的流量做访问控制, 如禁止某种类型的访问。

①.开启WAF防火墙插件

3.Dashboard的使用-风君雪科技博客

②.配置防火墙规则

3.Dashboard的使用-风君雪科技博客

③.测试,我们先访问xxx.xx.xx.212/to_waf,然后F12-Network查看返回情况

3.Dashboard的使用-风君雪科技博客

接着,我们修改waf防火墙规则:

3.Dashboard的使用-风君雪科技博客

再次在浏览器访问xxx.xx.xx.212/to_waf,然后F12-Network查看返回情况:

3.Dashboard的使用-风君雪科技博客

注意:

图片可能展示太小,按住ctrl+鼠标滚轮放大就能看清晰。

三、总结


 Orange还提供很多API插件供使用,例如:全局统计、自定义监控、访问限速、鉴权等等,这里就不一一操作,有兴趣的可以自己动手尝试,会对这个API网关有更深的理解。