This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
具有响应者策略的 grPC
带响应程序策略配置的 GrPC 解释了 Citrix ADC 设备如何通过 HTTP/2 协议对 grPC 请求提供不同的响应。当用户请求网站主页时,您可能希望提供不同的主页,具体取决于每个用户所在的位置或用户使用的浏览器。
下图显示了交互的组件。
- 在设备上启用响应程序功能。
- 配置响应程序操作以生成自定义响应、将请求重定向到其他网页或重置连接。
- 配置响应程序策略以确定必须对其采取操作的 gRPC 请求(流量)。
- 将响应程序策略绑定到负载平衡虚拟服务器,以检查流量是否与策略表达式匹配。
- 通过使用响应者策略,您可以根据 grPC 状态代码执行以下操作。
使用 CLI 使用响应程序策略配置 grPC 呼叫终止
要使用响应程序策略配置 grPC 呼叫终止,您必须完成以下步骤:
- 启用响应者功能
- 添加响应者操作
- 添加响应者策略并关联响应者操作
- 将响应程序策略绑定到负载平衡虚拟服务器
启用响应者功能
要使用响应程序功能,必须首先启用它。
在命令提示符下,键入:
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 协议缓冲区字段的策略表达式
Citrix ADC 设备在 grPC 配置中支持以下策略表达式:
-
grPC 协议缓冲区字段访问。任意 grPC API 调用将消息字段编号与新的策略表达式匹配。在 PI 配置中,匹配只使用 “字段编号” 和 “API 路径” 完成。
-
grPC 标头过滤。grPC 的 “HttpProfile” 参数用于调整 grPC 解析的默认行为(包括 grPC 策略表达式)。以下参数适用于 grPC 策略表达式:
-
grpClength划界。默认情况下,它处于启用状态,并希望协议缓冲区显示长度分隔的消息。
-
grpCholdLimit。默认值为 131072。它是以字节为单位的最大协议缓冲区消息大小。它也是最大字符串长度和最大 “字节” 字段长度。
-
使用 CLI 配置 grPC 高级策略表达式
在命令提示符下,键入:
set ns httpProfile <name> -http2 \( ENABLED | DISABLED ) -gRPCLengthDelimitation \( ENABLED | DISABLED ) -gRPCHoldLimit <int>
示例:
set ns httpProfile http2gRPC -http2 ENABLED -gRPCLengthDelimitation ENABLED -gRPCHoldLimit 131072
使用 GUI 配置 grPC 标头过滤参数
-
导航到系统 > 配置文件,然后单击 HTTP 配置文件。
-
在 创建 HTTP 配置文件 页面上,向下滚动到 HTTP/3 部分,选择 grPC 长度分界。
以下策略表达式示例显示了消息 5、子消息 4 和字段 3 中的值。它是一个 32 位 int 等于 2。
http.req.body(1000).grpc.message(5).message(4).int32(3).eq(2)
添加了以下策略表达式,用于按数字匹配 grPC 协议缓冲区消息字段:
- 消息
- 双重的
- 浮动
- int32
- int64
- uint32
- uint64
- sint64
- sint32
- fixed32
- fixed64
- sfixed32
- sfixed64
- bool
- string
- 枚举
- bytes
API 路径匹配
当使用多个 API 时,API 路径匹配用于匹配正确的 grPC API 调用。匹配 API 路径,可以在 HTTP 请求的 ‘: path’ 伪标头中找到。
示例:
http.req.header(":path").eq("acme.inventory.v1/ListBooks")
共享
共享
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.