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!
代理协议
代理协议跨 NetScaler 设备安全地将客户端详细信息从客户端传输到服务器。设备会添加包含客户端详细信息的代理协议标头,然后将其转发到后端服务器。以下是 NetScaler 设备中代理协议的一些使用场景。
- 学习原始客户端 IP 地址
- 为网站选择语言
- 阻止列出选定的 IP 地址
- 记录和收集统计信息。
以下是三种操作模式:
- 插入。NetScaler 插入客户端详细信息并将其发送到后端服务器。
- 向前。NetScaler 将客户端详细信息转发到后端服务器。从NetScaler 14.1-12.x版本开始,如果在虚拟服务器和服务上启用了代理协议功能,NetScaler会将通过代理协议V2发送的TLV(类型长度值)信息转发到后端服务器。
- 剥离。NetScaler 存储客户端详细信息以用于记录目的。另外,如果后端服务器不支持代理协议,则使用重写策略配置将客户端详细信息发送到服务器
下表为您提供有关不同代理协议模式下的 LB 虚拟服务器和服务状态的信息:
代理协议模式 | LB 虚拟服务器 | 服务 |
---|---|---|
Insert | 已禁用 | 已启用 |
转发 | 已启用 | 已启用 |
已剥离 | 已启用 | 已禁用 |
限制
TCP 快速开放 (TFO) 和多路径 TCP 功能不支持代理协议。仅 NetScaler 设备执行 TCP 连接终止的服务支持该功能。它不支持其他服务,例如“任何”。
代理协议如何在 NetScaler 设备中工作
以下流程图显示了如何跨 NetScaler 设备配置用于插入、转发和剥离操作的代理协议:
插入操作
组件的交互方式如下:
- 在 NetScaler 实例中,您必须在网络配置文件中启用代理协议并将其绑定到服务。
- 在插入操作中,NetScaler 会添加包含客户端连接详细信息的代理标头,然后将其转发到后端服务器。
- 在发送端,设备根据 CLI 配置决定代理协议版本。
转发操作
组件的交互方式如下:
- 客户端向 NetScaler 发送请求以及代理标头。设备会动态识别版本。
- 在 NetScaler 中,它是一种向前操作。代理协议在负载平衡虚拟服务器或内容交换虚拟服务器上启用,并在服务上启用。设备在代理协议 V2 中接收代理标头和 TLV,并将标头和 TLV 转发到后端服务器。
- 如果代理标头详细信息格式无效,设备将重置连接。
- 在发送端,设备根据 CLI 配置决定代理协议版本。
剥离操作
组件的交互方式如下:
- 客户端向 NetScaler 设备发送请求以及代理标头。
- 在 NetScaler 设备中,如果是剥离操作,设备将转发从代理协议获取的客户端信息,并使用重写策略表达式将其插入 HTTP 标头中。
- 使用重写策略表达式将客户端详细信息(例如源 IP 地址、目标 IP 地址、源端口和目标端口)添加到 HTTP 标头中。重写策略会评估表达式,如果为“true”,则触发相应的重写策略操作。客户端详细信息将以 HTTP 标头的形式转发到后端服务器。
- 如果代理标头详细信息格式无效,设备将重置连接。
代理协议版本格式
Proxy 协议版本有两种格式。设备决定使用基于传入数据长度的格式。有关详细信息,请参阅 代理协议 RFP。
-
代理协议版本 1 格式
PROXY TCP4/TCP6/UNKNOWN <SRC IP> <DST IP> <SRC PORT> <DST PORT>
- PROXY-> Proxy 标头版本 -1 的唯一字符串格式。
- 支持基于 IPv4 的 TCP 协议和基于 IPv6 的 TCP 协议。对于其余的协议,这是 UNKNOWN。
- SRC IP — 数据包的源 IP(原始客户端 IP)地址。
- DST IP — 数据包的目的地 IP 地址。
- SRC 端口 — 数据包的源端口。
- DST 端口 — 数据包的目的端口。
-
代理协议版本 2 格式
0D 0A 0D 0A 00 0D 0A 51 55 49 54 0A <13th byte> <14th byte> <15-16th byte> <17th byte onwards>
- D 0A 0D 0A 00 0D 0A 51 55 49 54 0A-> 代理标头版本 -2 的唯一二进制字符串。
- 支持基于 IPv4 的 TCP 协议和基于 IPv6 的 TCP 协议。对于其余的协议,这是 UNKNOWN。
- 第十三个字节 — 协议版本和命令。
- 第十四个字节 — 地址和协议系列。
- 第 15-16 字节 — 按网络顺序表示的地址长度。
- 从第十七个字节开始 — 网络顺序中存在的地址信息-src IP、dst IP、src 端口、dst 端口。
响应者策略基础架构表达支持
代理协议支持以下类型为 TCP 和 HTTP 的虚拟服务器的响应器策略基础架构表达式:
- CLIENT.PROXY.SRCIP_STR
- CLIENT.PROXY.DSTIP_STR
- CLIENT.PROXY.SRCPORT
- CLIENT.PROXY.DSTPORT
- CLIENT.PROXY.ETHERTYPE
注意
从 NetScaler 版本 13.1-48.x 起,NetScaler 支持 TCP 类型的虚拟服务器上的代理协议的响应者策略基础架构表达式。
在 NetScaler 设备中配置代理协议
完成以下步骤以在 NetScaler 设备中配置代理协议。
- 将代理协议启用为全局协议。
- 为插入操作配置代理协议。
- 为转发操作配置代理协议。
- 为 Strip 操作配置代理协议。
将代理协议启用为全局协议
在命令提示符处,键入以下内容:
set ns param –proxyProtocol ENABLED
为插入操作配置代理协议
要为插入操作配置代理协议,必须在负载平衡虚拟服务器上禁用该协议并在服务上启用该协议。
添加禁用代理协议的网络配置文件以实现负载平衡虚拟
在命令提示符处,键入以下内容:
add netprofile <name> -proxyProtocol ENABLED/DISABLED> -proxyprotocoltxversion <V1/V2>
示例:
Add netprofile proxyprofile-1 –proxyProtocol DISABLED –proxyprotocoltxversion V1
注意:
如果在设备上禁用代理协议,则无需设置协议版本参数。
添加启用服务的代理协议的网络配置文件
在命令提示符处,键入以下内容:
add netprofile <name> -proxyProtocol ENABLED/DISABLED> -proxyprotocoltxversion <V1/V2>
示例:
add netprofile proxyprofile-2 –proxyProtocol ENABLED –proxyprotocoltxversion V1
在代理层中为 NetScaler 设备添加负载平衡虚拟服务器
在命令提示符处,键入以下内容:
add lb vserver <name>@ <serviceType> [(<IPAddress>@ <port>)]
示例:
add lb vserver lbvserver-1 http 1.1.1.1 80
在代理层中为 NetScaler 设备添加 HTTP 服务
在命令提示符处,键入以下内容:
add service <name>@ (<IP>@ | <serverName>@) <serviceType> <port>
示例:
Add service http-service-1 2.2.2.1 http 80
在 NetScaler 设备中使用负载平衡虚拟服务器设置净配置文件
在命令提示符处,键入以下内容:
set lb vserver <vserver name> -netprofile <name>
示例:
set lb vserver lbvserver-1 –netprofile proxyProfile-1
在 NetScaler 设备中使用 HTTP 服务设置网络配置文件
在命令提示符处,键入以下内容:
set service <service name> –netprofile <name>
示例:
set service http-service-1 –netprofile proxyProfile-2
将负载平衡虚拟服务器绑定到服务
在命令提示符处,键入以下内容:
bind lb vserver <vserver name> <service name>
示例:
bind lb vserver lbvserver-1 http-service-1
为转发操作配置代理协议
要将代理协议配置为代理层中的下一个 NetScaler 实例进行转发操作,必须启用该协议并绑定到虚拟服务器或服务。
注意:
为负载平衡虚拟服务器创建的网络配置文件也可以用于服务。
添加启用了代理协议的网络配置文件,以实现负载平衡
在命令提示符处,键入以下内容:
add netprofile <name> -proxyProtocol ENABLED/DISABLED> -proxyprotocoltxversion <V1/V2>
示例:
add netprofile proxyprofile-3 –proxyProtocol ENABLED –proxyprotocoltxversion V1
添加启用服务的代理协议的网络配置文件
在命令提示符处,键入以下内容:
add netprofile <name> -proxyProtocol ENABLED/DISABLED> -proxyprotocoltxversion <V1/V2>
示例:
add netprofile proxyprofile-4 –proxyProtocol ENABLED –proxyprotocoltxversion V1
在代理层中为 NetScaler 设备添加负载平衡虚拟服务器
在命令提示符处,键入以下内容:
add lb vserver <name>@ <serviceType> [(<IPAddress>@ <port>)]
示例:
add lb vserver lbvserver-2 http 2.2.2.2 80
在代理层中为 NetScaler 设备添加 HTTP 服务
在命令提示符处,键入以下内容:
add service <name>@ (<IP>@ | <serverName>@) <serviceType> <port>
示例:
Add service http-service-2 3.3.3.1 http 80
在 NetScaler 设备中使用负载平衡虚拟服务器设置净配置文件
在命令提示符处,键入以下内容:
set lb vserver <vserver name> -netprofile <name>
示例:
set lb vserver lbvserver-2 –netprofile proxyProfile-3
在 NetScaler 设备中使用 HTTP 服务设置网络配置文件
在命令提示符处,键入以下内容:
set service <service name> –netprofile <name>
示例:
set service http-service-2 –netprofile proxyProfile-4
将负载平衡虚拟服务器绑定到服务
在命令提示符处,键入以下内容:
bind lb vserver <vserver name> <service name>
示例:
bind lb vserver lbvserver-2 http-service-2
为剥离操作配置代理协议
要为剥离操作配置代理协议,必须在负载平衡虚拟服务器上启用代理协议,然后在服务上禁用代理协议。
添加虚拟服务器启用代理协议的网络配置文件
在命令提示符处,键入以下内容:
add netprofile <name> -proxyProtocol ENABLED> -proxyprotocoltxversion <V1/V2>
示例:
add netprofile proxyprofile-5 –proxyProtocol ENABLED –proxyprotocoltxversion V1
在代理层中为 NetScaler 设备添加负载平衡或内容交换虚拟服务器
在命令提示符处,键入以下内容:
add lb vserver <name>@ <serviceType> [(<IPAddress>@ <port>)]
示例:
add lb vserver lbvserver-3 http 2.2.2.2 80
在代理层中为 NetScaler 设备添加 HTTP 服务
在命令提示符处,键入以下内容:
add service <name>@ (<IP>@ | <serverName>@) <serviceType> <port>
示例:
Add service http-service-3 3.3.3.1 http 80
在 NetScaler 设备中使用负载平衡或内容交换虚拟服务器设置网络配置文件
在命令提示符处,键入以下内容:
set lb vserver <vserver name> -netprofile <name>
示例:
set lb vserver lbvserver-3 –netprofile proxyProfile-5
将负载平衡虚拟服务器绑定到服务
在命令提示符处,键入以下内容:
bind lb vserver <vserver name> <service name>
示例:
bind lb vserver lbvserver-3 http-service-3
使用 CLI 为代理协议配置响应器策略基础架构表达式
要配置响应器策略,请在命令提示符下键入:
add responder policy <name> <expression> <action>
示例:
> add responder policy resppol_proxy_srcip "CLIENT.PROXY.SRCIP_STR.EQ("10.106.26.83")" RESET
Done
<!--NeedCopy-->
要将响应器策略与负载平衡虚拟服务器绑定,请在命令提示符下键入:
bind lb vserver <name> -policyname <string> -priority <positive_integer> -gotoPriorityExpression <expression> -type <type>
示例:
> bind lb vserver lb_tcp1 -policyName resppol_proxy_srcip -priority 10 -gotoPriorityExpression END -type REQUEST
Done
<!--NeedCopy-->
端到端配置示例
> add ns tcpProfile tcp-proxy-profile -tcpmode ENDPOINT
> add netprofile net_proxyv1 -MBF DISABLED -proxyProtocol
ENABLED
> enable ns mode l2
> enable ns mode l3 usnip
> add ns ip 10.106.26.146 255.255.255.0 -type SNIP
Done
> add ns ip 10.106.26.144 255.255.255.0 -type SNIP
Done
> add lb vserver lb_tcp1 TCP 10.106.26.141 80
> add service s1 10.106.26.82 TCP 8080
> bind lb vserver lb_tcp1 s1
> set lb vserver lb_tcp1 -tcpProfileName tcp_proxy -netProfile net_proxyv1
> set ns param -proxyProtocol ENABLED
> add responder policy resppol_proxy_srcip "CLIENT.PROXY.SRCIP_STR.EQ("10.106.26.83")" RESET
> bind lb vserver lb_tcp1 -policyName resppol_proxy_srcip -priority 10 -gotoPriorityExpression END -type REQUEST
Done
<!--NeedCopy-->
使用 NetScaler GUI 配置代理协议
- 导航到 系统 > 设置 > 更改全局系统设置。
- 在“配置全局系统设置参数”页中,选中“代理协议”复选框。
- 单击“确定”和关闭。
- 导航到 系统 > 网络 > 网络配置文件。
- 在详细信息窗格中,单击 添加 为负载平衡虚拟服务器创建网络配置文件。
- 在“网络配置文件”页中,设置以下参数:
- 名称 :网络配置文件的名称。
- 代理协议:启用或禁用负载平衡虚拟服务器的代理协议。
- 代理协议 TX 版本:根据传入数据格式将代理协议版本设置为 V1 或 V2。
- 单击确定。
- 导航到流量管理 > 负载平衡 > 虚拟服务器。
- 在详细信息窗格中,单击“添加”。
- 在 负载平衡虚拟服务器 页面中,设置基本参数。
- 在“高级设置”部分中,选择 配置文件。
- 在 配置文件 部分中,单击铅笔图标。
- 选择网络配置文件,然后单击 确定。
- 单击 Done(完成)。
- 导航到 流量管理 > 负载平衡 > 服务。
- 在详细信息窗格中,单击“添加”。
- 在 负载平衡服务 页面中,设置基本参数。
- 在“高级设置”部分中,选择 配置文件。
- 在 配置文件 部分中,单击铅笔图标。
- 选择网络配置文件,然后单击 确定。
- 单击 Done(完成)。
注意:
如果您有多个 NetScaler 设备作为代理层的一部分,则必须在每个设备上为转发操作设置代理协议配置。
共享
共享
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.