在 Citrix NetScaler 13.1 中,Rewrite Actions 用于对负载均衡响应进行修改,包括替换、删除和插入 HTTP 响应头。这些操作可以通过自定义策略来完成,帮助你根据需求调整请求内容。以下是三种常见的操作:
1. Replace (替换响应头)
使用 replace
操作时,可以替换指定请求头的内容。通常用于修改 HTTP 响应头中的某些值。
例如:修改响应头中的 Access-Control-Allow-Credentials
字段替换为 true
。
gui页面操作步骤如下:
1.1 创建Rewrite Action
- 路径:AppExpert -> Rewrite -> Rewrite Actions
- 点击“Add”按钮创建rewrite action
- Action配置项如下
- Type选择
Replace
- Expression to choose target location为
HTTP.RES.HEADER("Access-Control-Allow-Credentials")
,其中Access-Control-Allow-Credentials可以改为想要替换的响应头 - Expression为
true
;Expression为要替换的内容 - 点击“Create”按钮创建rewrite action
1.2 创建Rewrite Policy
- 路径:AppExpert -> Rewrite -> Rewrite Policies
- 点击“Add”按钮创建rewrite policy
- Policy配置项如下
- Action选择刚创建的
replace_header
- Expression为
true
;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 policyrewrite_header_policy
;点击Bind
按钮
1.4 测试效果
2. Delete (删除响应头)
使用delete
操作会删除指定的响应头。这在清除不需要的头字段时非常有用。
例如:删除请求头中的 Access-Control-Allow-Credentials
字段。
gui页面操作步骤如下:
2.1 创建Rewrite Action
- 路径:AppExpert -> Rewrite -> Rewrite Actions
- 点击“Add”按钮创建rewrite action
- Action配置项如下
- Type选择
DELETE_HTTP_HEADER
- Header Name为
Access-Control-Allow-Credentials
,其中Access-Control-Allow-Credentials可以改为想要删除的响应头 - 点击“Create”按钮创建rewrite action
2.2 创建Rewrite Policy
- 路径:AppExpert -> Rewrite -> Rewrite Policies
- 点击“Add”按钮创建rewrite policy
- Policy配置项如下
- Action选择刚创建的
delete_header
- Expression为
true
;Expression为过滤符合条件的请求 - 点击“Create”按钮创建rewrite policy
2.3 绑定Rewrite Policy
同1.3
2.4 测试效果
3. Insert (插入响应头)
insert
操作允许你在 HTTP 请求中插入新的响应头。常用于添加认证信息、代理设置等。
例如:在请求头中插入 access-test
字段,并将其值设置为 Test
。。
gui页面操作步骤如下:
3.1 创建Rewrite Action
- 路径:AppExpert -> Rewrite -> Rewrite Actions
- 点击“Add”按钮创建rewrite action
- Action配置项如下
- Type选择
INSERT_HTTP_HEADER
- Header Name为
Access-Test
,其中Access-Test可以改为想要新增的响应头 - Expression为新增的响应头
Access-Test
的内容 - 点击“Create”按钮创建rewrite action
3.2 创建Rewrite Policy
- 路径:AppExpert -> Rewrite -> Rewrite Policies
- 点击“Add”按钮创建rewrite policy
- Policy配置项如下
- Action选择刚创建的
insert_header
- Expression为
true
;Expression为过滤符合条件的请求 - 点击“Create”按钮创建rewrite policy
3.3 绑定Rewrite Policy
同1.3