在 Citrix NetScaler 中,重写负载均衡 响应内容,比如将/oauth/token
接口响应内容中的 access_token
替换为 accessToken
,你可以使用 Rewrite Response 功能。通过 GUI 配置 Rewrite Actions 和 Policies,你可以实现这个目标。以下是操作步骤:
1.1 创建Rewrite Action
- 路径:AppExpert -> Rewrite -> Rewrite Actions
- 点击“Add”按钮创建rewrite action
- Action配置项如下
- Type选择
Replace_ALL
- Expression to choose target location为
HTTP.RES.BODY(100000)
,代表选中响应内容的前100000个字符 - Expression为
"access_token"
;Expression为要替换的内容 - 选择
"Pattern"
;内容为accessToken
;accessToken为替换后的内容 - 点击“Create”按钮创建rewrite action
1.2 创建Rewrite Policy
- 路径:AppExpert -> Rewrite -> Rewrite Policies
- 点击“Add”按钮创建rewrite policy
- Policy配置项如下
- Action选择刚创建的
test_replace
- Expression为
HTTP.REQ.URL.PATH.CONTAINS("/oauth/token")
;Expression为过滤符合条件的请求 - 点击“Create”按钮创建rewrite policy
1.3 绑定Rewrite Policy
-
路径:Traffic Management -> Load Balancing -> Virtual Servers
-
点击“Edit”按钮编辑已有负载均衡VServer
-
添加
Policy
4. 绑定Policy
5. Choose Policy选择Rewrite
,Choose Type选择Response
;点击Continue
按钮
6. 选择刚创建的rewrite policytest_policy
;点击Bind
按钮