orange
orange copied to clipboard
OpenResty/Nginx Gateway for API Monitoring and Management.
new feature for PostgreSQL `store` type support.
例子: 有两个选择器,顺序为A - B, A选择器:URI = /test/1 处理方式为:跳过后续选择器 B选择器:URI = /test/2 依上条件, 发起请求:http://xx/test/2,结果是:没有匹配任何选择器。如果把A选择器处理规则改为继续后续选择器,才会匹配B。 这里是不是一个BUG呢,还是我没有理解作者的设计思想。我的理解是只有在请求匹配到某个选择器后,才能决定是否跳过后续的选择器。
需要对reponse进行敏感词过滤。 不会lua....
针对`Orange使用`的提问, 对于简单几句话描述不清的问题, 请使用以下格式, 不符合格式或描述含糊不清的issue将不予回复。 ##### 需求或场景 URL被重定向中,参数里含有编码后的网址(http%3A%2F%2Fproxy.pay.xxx.com%2Fjmsresult.html),被重定向后,参数值不变。 ##### 使用的插件 URL重定向 ##### 具体的配置  ##### 期望的结果 http://proxy.xxx.com/newPayHandle?bankNo=1&bgUrl=http%3A%2F%2Fproxy.pay.xxx.com%2Fjmsresult.html&bizNo=000001098&clientIp=192.168.108.169&ext1=ext1&ext2=ext2&fgUrl=http%3A%2F%2Fproxy.pay.xxx.com%2Fjmsresult.html&orderAmt=1&orderId=201707071499408527140&orderTime=20160115165020&other1=other1&other2=other2&other3=other3&pageCharset=1&payType=W2&[email protected]&payerName=wqxhome&peerId=0x1p23M4j56789zz&productDesc=%E6%B5%8B%E8%AF%95%E5%95%86%E5%93%81&productName=%E6%B5%8B%E8%AF%95%E5%95%86%E5%93%81&version=v1.0&xlnumId=69551120&xunleiId=xlchannel&signMsg=fd6f8b8a7edee2de343e5c4b70ed7322 ##### 错误的结果 http://proxy.xxx.com/newPayHandle?bankNo=1&bgUrl=http://proxy.pay.xxx.com/jmsresult.html&bizNo=000001098&clientIp=192.168.108.169&ext1=ext1&ext2=ext2&fgUrl=http://proxy.pay.xxx.com/jmsresult.html&orderAmt=1&orderId=201707071499408527140&orderTime=20160115165020&other1=other1&other2=other2&other3=other3&pageCharset=1&payType=W2&[email protected]&payerName=wqxhome&peerId=0x1p23M4j56789zz&productDesc=%E6%B5%8B%E8%AF%95%E5%95%86%E5%93%81&productName=%E6%B5%8B%E8%AF%95%E5%95%86%E5%93%81&version=v1.0&xlnumId=69551120&xunleiId=xlchannel&signMsg=fd6f8b8a7edee2de343e5c4b70ed7322
在Restful规范的API中,同一个URI不同的Method对应的业务服务是不一样的,同时需要对应做一些不同的规则处理等。比如在下面场景中: 查询订单信息 GET: /orders/{id} 规则 A 修改订单信息 PUT: /orders/{id} 规则 B 以现有存在的8种条件提取方式(URI, IP, Header, Query, Post, Host, Referer, UserAgent)中似乎没有很好的判断方法。但是文档中有说明支持Method的,http://orange.sumory.com/docs/concept/expression/
Header could be easily modified on some purpose, and easy to share among the orange plugins. The plugin specified header could act as the context for other plugins.
1. [x] Basic Auth 2. [x] Key Auth 3. [ ] oAuth2 4. [ ] JWT 5. [ ] Auth Backend Service Support