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 反向桥接
在这种情况下,NetScaler 设备无缝桥接在 HTTP/2 连接上接收到的 gRPC 内容,并通过 HTTP/1.1 将其转发到后端 gRPC 服务器。
反向桥接的工作原理
下图显示了组件在 gRPC 桥接配置中如何相互交互。
- 客户端在 HTTP/2 连接上发送 gRPC 请求,gRPC 头文件位于 HTTP/2 帧和 proto-buf 负载中。
- 根据策略评估,负载平衡虚拟服务器(绑定了 gRPC 服务)通过 HTTP/1.1 连接转换请求并将其转发到后端服务器。
- 在收到 HTTP/1.1 响应时,如果响应中没有 grpc-status 代码,则 ADC 会从 HTTP 响应代码中推导出 grpc 状态大小写。
- 然后,设备将 gRPC 标头插入 HTTP/2 预告片中,然后将响应转发给客户端。
使用 CLI 配置 gRPC 反向桥接
要配置 gRPC 反向桥接,必须完成以下步骤:
- 为负载平衡虚拟服务器添加 HTTP/2 和 HTTP/2 直接启用 HTTP/2 的 HTTP 配置文件 1
- 为后端服务 器添加禁用 HTT P/2 的 HTTP 配置文件 2
- 添加 SSL/HTTP 类型的负载平衡虚拟服务器并设置为 HTTP 配置文件 1
- 为 gRPC 端点添加服务并设置为 HTTP 配置文件 2
- 将 gRPC 端点的服务绑定到负载平衡虚拟服务器
- 如果响应没有 grpc 状态码,则将 HTTP 状态代码映射到 gRPC 状态码
为负载平衡虚拟服务器添加 HTTP/2 和 HTTP/2 直接启用 HTTP/2 的 HTTP 配置文件 1
要开始反向桥接配置,必须添加两个 HTTP 配置文件。一个配置文件用于为 gRPC 客户端请求启用 HTTP/2,另一个配置文件用于禁用非 gRPC 服务器响应的 HTTP/2。
在命令提示符下,键入:
add ns httpProfile <name> - http2 ( ENABLED | DISABLED ) [-http2Direct ( ENABLED | DISABLED )]
示例:
add ns httpProfile profile1 –http2 ENABLED -http2Direct ENABLED
在后端服务器禁用HTTP/2 的情况下添加 HTTP 配置文件 2
使用 NetScaler 命令行禁用 HTTP/2 对后端服务器响应的 HTTP/2 支持。
在命令提示符下,键入:
add ns httpProfile <name> - http2 ( ENABLED | DISABLED ) [-http2Direct ( ENABLED | DISABLED )]
示例:
add ns httpProfile profile2 –http2 DISABLED http2Direct DISABLED
添加 SSL/HTTP 类型的负载平衡虚拟服务器并设置为 HTTP 配置文件 1
使用 NetScaler 命令界面添加负载平衡虚拟服务器。
在命令提示符下,键入:
add lb vserver <name> <service type> [(<IP address>@ <port>)] [-httpProfileName <string>]
示例:
add lb vserver lb-grpc HTTP 10.10.10.10 80 -httpProfileName profile1
注意:
如果您使用的是 SSL 类型的负载平衡虚拟服务器,则必须绑定服务器证书。有关详细信息,请参阅 绑定服务器证书 主
为 gRPC 端点添加服务并设置为 HTTP 配置文件 2
使用 NetScaler 命令接口添加带有 gRPC 终端节点的服务并设置 HTTP 配置文件 2。
在命令提示符下,键入:
add service <name> (<IP> | <serverName> ) <serviceType> <port> [-httpProfileName <string>]
示例:
add service svc-grpc 10.10.10.11 HTTP 80 -httpProfileName profile2
将 gRPC 端点的服务绑定到负载平衡虚拟服务器
使用 NetScaler 命令界面将 gRPC 服务绑定到负载平衡虚拟服务器。
在命令界面中,键入:
bind lb vserver <name> <serviceName>
示例:
bind lb vserver lb-grpc svc-grpc
将 HTTP 响应代码映射到 gRPC 状态码
如果服务器未生成 gRPC 状态代码,则 NetScaler 设备会根据收到的 HTTP 响应生成合适的 gRPC 状态代码。状态码在下面的映射表中列出。
HTTP 响应状态码 | gRPC 状态码 |
---|---|
200 | 正常 |
400 | 内部 = 13 |
403 | PERMISSION_DENIED = 7 |
401 | UNAUTHENTICATED = 16 |
429, 502, 503, 504 | UNAVAILABLE = 14 |
404 | UNIMPLEMENTED = 12 |
使用 GUI 配置 gRPC 反向桥接
为负载平衡虚拟服务器添加 HTTP/2 和 HTTP/2 直接启用 HTTP/2 的 HTTP 配置文件 1
- 导航到系统 > 配置文件,然后单击 HTTP 配置文件。
- 在 HTTP 配置文件 1 中启用 HTTP/2 选项。
在后端服务器禁用HTTP/2 的情况下添加 HTTP 配置文件 2
- 导航到系统 > 配置文件,然后单击 HTTP 配置文件。
- 在 HTTP 配置文件 2 中启用 HTTP/2 选项。
- 单击确定。
添加 SSL/HTTP 类型的负载平衡虚拟服务器并设置为 HTTP 配置文件 1
- 导航到流量管理 > 负载平衡 > 虚拟服务器。
- 单击 “ 添加 ” 为 gRPC 流量创建负载平衡虚拟服务器。
- 在“负载平衡虚拟服务器”页中,单击 概要文件。
- 在 配置文件 部分中,选择配置文件类型为 HTTP。
- 单击“确定”,然后单击“完成”。
使用 gRPC 端点添加服务并设置为 HTTP 配置文件 2
- 导航到 Traffic Management(流量管理)> Load Balancing(负载平衡)> Services(服务)。
- 单击 “ 添加 ” 为 gRPC 流量创建应用程序服务器。
- 在 负载平衡服务 页面中,转到 配置文件 部分。
- 在 配置文件下,为 gRPC 端点添加 HTTP 配置文件 。
- 单击“确定”,然后单击“完成”。
将 gRPC 端点的服务绑定到负载平衡虚拟服务器
- 导航到流量管理 > 负载平衡 > 虚拟服务器。
- 单击 “ 添加 ” 为 gRPC 流量创建负载平衡虚拟服务器。
- 在“负载平衡虚拟服务器”页中,单击服务和服务组部分。
- 在 负载平衡虚拟服务器服务绑定 页面中,选择要绑定的 gRPC 服务。
- 单击“关闭”,然后单击“完成”。
有关详细 GUI 过程,请参阅 负载平衡 主题。
共享
共享
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.