码迷,mamicode.com
首页 > Web开发 > 详细

Netscaler Callout策略-实现外部联动

时间:2018-01-18 20:38:19      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:验证   ado   业务逻辑   参数   url   htm   col   body   特殊   

Netscaler Callout策略-实现外部联动
在某些特殊的场景下,需要Netscaler与外部服务实现联动来作出复杂情景下的判断。例如在做LLB时通过外部数据库来判断URL是否安全,判断源地址是否合法(这里只是举例,用在客户非要用自己运维的内容归类服务器或不想买企业版NS时。NS内置功能可以做IP和各种恶意URL的判断)此时就需要祭出Callout这个神器了,下面就是一个配置案例。
配置意图
Netscaler判断客户端的地址是否合法,如果不合法的地址就跳转到特定的页面。但是这个判断是否合法的动作是有外部服务器来完成的,Netcaler把客户端的地址插入http body送到外部服务器,根据判断的结果来决定用户是否有权访问页面。
业务逻辑:
client->NS responder policy调用callout->third server->NS responder engine->server

启用callout前先启用responder的Feature

编辑callout 策略
add policy httpCallout my_callout

set policy httpCallout my_callout -IPAddress 192.168.150.18 -port 80 -returnType TEXT -httpMethod POST -hostExpr 192.168.150.18 -urlStemExpr "\"/callout/calloutweb.htm\"" -headers test_header("cj_header") -parameters test_parameter("cj_parameter") -scheme http -resultExpr "HTTP.RES.BODY(600000)"

技术分享图片
技术分享图片
其中parameter的作用跟http method有关系,get的话parameter变为?带参数,post的话parameter就变成编码后的data内容了
get 方法抓包验证:

技术分享图片
post方法抓包验证
技术分享图片

将callout策略在responder策略中调用
add responder policy res_policy_callout "SYS.HTTP_CALLOUT(my_callout).CONTAINS(\"The address is valid\")" res_action_callout
技术分享图片

callout服务器返回值
技术分享图片
服务器返回当前客户端地址是非法地址
用该地址访问LB vserver时就会被重置或重定向到其他页面。验证客户端效果,看不到主页直接被responder了。

技术分享图片

Netscaler Callout策略-实现外部联动

标签:验证   ado   业务逻辑   参数   url   htm   col   body   特殊   

原文地址:http://blog.51cto.com/caojin/2062585

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!