Netscaler Callout策略-实现外部联动

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)"

Netscaler Callout策略-实现外部联动
Netscaler Callout策略-实现外部联动
其中parameter的作用跟http method有关系,get的话parameter变为?带参数,post的话parameter就变成编码后的data内容了
get 方法抓包验证:

Netscaler Callout策略-实现外部联动
post方法抓包验证
Netscaler Callout策略-实现外部联动

将callout策略在responder策略中调用
add responder policy res_policy_callout "SYS.HTTP_CALLOUT(my_callout).CONTAINS(\"The address is valid\")" res_action_callout
Netscaler Callout策略-实现外部联动

callout服务器返回值
Netscaler Callout策略-实现外部联动
服务器返回当前客户端地址是非法地址
用该地址访问LB vserver时就会被重置或重定向到其他页面。验证客户端效果,看不到主页直接被responder了。

Netscaler Callout策略-实现外部联动

转载于:https://blog.51cto.com/caojin/2062585

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值