Citrix ADC

gRPC with responder policy

具有响应程序策略配置的 GRPC 解释了 Citrix ADC 设备如何通过 HTTP/2 协议对 GRPC 请求提供不同的响应。当用户请求网站主页时,您可能希望根据每个用户所在的位置或用户使用的浏览器提供不同的主页。 下图显示了组件交互。

gRPC with responder policy

  1. 在设备上启用响应程序功能。
  2. 配置响应者操作以生成自定义响应、将请求重定向到其他网页或重置连接。
  3. 配置响应者策略,以确定必须对其执行操作的 GRPC 请求(流量)。
  4. 将响应者策略绑定到负载平衡虚拟服务器,以检查流量是否与策略表达式匹配。
  5. 通过使用响应者策略,您可以根据 GRPC 状态代码执行以下操作。

使用 CLI 配置使用响应者策略的 GRPC 呼叫终止

要使用响应者策略配置 GrPC 呼叫终止,您必须完成以下步骤:

  1. 启用响应者功能
  2. 添加响应程序操作
  3. 添加响应者策略并关联响应者操作
  4. 将响应程序策略绑定到负载平衡虚拟服务器

启用响应者功能

要使用响应器功能,必须首先启用它。

在命令提示窗口中,键入:

enable ns responder

添加响应程序操作

启用此功能后,您必须根据后端服务器返回的状态代码配置响应者操作来处理 GRPC 响应。

在命令提示窗口中,键入:

add responder action <name> <type>

示例:

add responder action grpc-act respondwith "HTTP/1.1 200 OK\r\nServer: NS-Responder\r\nContent-Type:application/grpc\r\ngrpc-status: 12\r\ngrpc-message: Not Implemented\r\n\r\n" + "Method: " + HTTP.REQ.URL+ "is not implemented."

添加响应者策略

配置响应程序操作后,您必须接下来配置响应程序策略,以选择 Citrix ADC 设备必须响应的 GrPC 请求。

在命令提示窗口中,键入:

add responder policy <name> <expression> <action> [<undefaction>]-appFlowaction <actionName> 示例:

add responder policy grpc-resp-pol1 HTTP.REQ.URL.NE(“/helloworld.Greeter/SayHello”) grpc-act

将响应程序策略绑定到负载平衡虚拟服务器

要使策略生效,必须将其绑定到带有 GRPC 服务的负载平衡虚拟服务器。

在命令提示窗口中,键入:

bind responder global <policyName> <priority> [<gotoPriorityExpression> [-type <type>] [-invoke (<labelType> <labelName>)]

示例:

bind lb vserver lb-grpc svc-grpc -policyName grpc-resp-pol1 –priority 100

有关响应者策略的详细信息,请参阅响应者策略 主题。

gRPC with responder policy