如果 ADC 不支持密码,则配置 SSL 操作以转发客户端流量
注意:此功能在版本 12.1 版本 49.x 及更高版本中提供。
在客户端问候消息中,如果您收到 ADC 不支持的密码,则可以配置 SSL 操作以将客户端流量转发到其他虚拟服务器。如果您不希望 SSL 卸载,请配置此类型为 TCP 或 SSL_Bridge 的虚拟服务器。ADC 上没有 SSL 卸载,并且会绕过流量。对于 SSL 卸载,请将 SSL 虚拟服务器配置为转发虚拟服务器。
执行以下步骤:
- 添加 SSL 类型的负载平衡虚拟服务器。此虚拟服务器上接收客户端流量。
- 将 SSL 服务绑定到此虚拟服务器。
- 添加 TCP 类型的负载平衡虚拟服务器。注意:IP 地址或端口号对于被转发到的虚拟服务器不是强制性的。
- 添加具有端口 443 的 TCP 服务。
- 将此服务绑定到之前创建的 TCP 虚拟服务器。
- 在“转发”参数中添加一个 SSL 操作,指定 TCP 虚拟服务器。
- 如果客户端 hello 消息中收到特定密码套件(由其十六进制代码标识),则添加 SSL 策略,指定上述操作。
- 将此策略绑定到 SSL 虚拟服务器。
- 保存配置。
使用 CLI 进行配置
add service ssl-service 10.102.113.155 SSL 443
add ssl certkey sv -cert complete/server/server_rsa_2048.pem -key complete/server/server_rsa_2048.ky
add ssl certkey cacert -cert complete/CA/root_rsa_1024.pem -key complete/CA/root_rsa_1024.ky
add lb vserver v1 SSL 10.102.57.186 443
bind ssl vserver v1 -certkeyName sv
bind lb vserver v1 ssl-service
add lb vserver v2 TCP
add service tcp-service 10.102.113.150 TCP 443
bind lb vserver v2 tcp-service
add ssl action act1 -forward v2
add ssl policy pol2 -rule client.ssl.client_hello.ciphers.has_hexcode(0x002f) -action act1
bind ssl vserver v1 -policyName pol2 -type CLIENTHELLO_REQ -priority 1
<!--NeedCopy-->
sh ssl vserver v1
Advanced SSL configuration for VServer v1:
DH: DISABLED
DH Private-Key Exponent Size Limit: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0
Session Reuse: ENABLED Timeout: 120 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
ClearText Port: 0
Client Auth: DISABLED
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: ENABLED
OCSP Stapling: DISABLED
HSTS: DISABLED
HSTS IncludeSubDomains: NO
HSTS Max-Age: 0
SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED TLSv1.3: DISABLED
Push Encryption Trigger: Always
Send Close-Notify: YES
Strict Sig-Digest Check: DISABLED
Zero RTT Early Data: DISABLED
DHE Key Exchange With PSK: NO
Tickets Per Authentication Context: 1
ECC Curve: P_256, P_384, P_224, P_521
1) CertKey Name: sv Server Certificate
Data policy
1) Policy Name: pol2 Priority: 1
1) Cipher Name: DEFAULT
Description: Default cipher list with encryption strength >= 128bit
Done
sh ssl policy pol2
Name: pol2
Rule: client.ssl.client_hello.ciphers.has_hexcode(0x002f)
Action: act1
UndefAction: Use Global
Hits: 0
Undef Hits: 0
Policy is bound to following entities
1) Bound to: CLIENTHELLO_REQ VSERVER v1
Priority: 1
Done
<!--NeedCopy-->
sh ssl action act1
1) Name: act1
Type: Data Insertion
Forward to: v2
Hits: 0
Undef Hits: 0
Action Reference Count: 1
Done
<!--NeedCopy-->
sh ssl vserver v2
Advanced SSL configuration for VServer v2:
DH: DISABLED
DH Private-Key Exponent Size Limit: DISABLED Ephemeral RSA: ENABLED Refresh Count: 0
Session Reuse: ENABLED Timeout: 120 seconds
Cipher Redirect: DISABLED
SSLv2 Redirect: DISABLED
ClearText Port: 0
Client Auth: DISABLED
SSL Redirect: DISABLED
Non FIPS Ciphers: DISABLED
SNI: DISABLED
OCSP Stapling: DISABLED
HSTS: DISABLED
HSTS IncludeSubDomains: NO
HSTS Max-Age: 0
SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED TLSv1.3: DISABLED
Push Encryption Trigger: Always
Send Close-Notify: YES
Strict Sig-Digest Check: DISABLED
Zero RTT Early Data: DISABLED
DHE Key Exchange With PSK: NO
Tickets Per Authentication Context: 1
ECC Curve: P_256, P_384, P_224, P_521
1) CertKey Name: sv Server Certificate
1) Cipher Name: DEFAULT
Description: Default cipher list with encryption strength >= 128bit
<!--NeedCopy-->
使用 GUI 进行配置
创建 TCP 虚拟服务器:
- 导航到 流量管理 > 负载平衡 > 虚拟服务器。
- 创建 TCP 虚拟服务器。
- 单击“服务和服务组”部分,然后添加 TCP 服务或绑定现有服务。
- 单击 Bind(绑定)。
- 单击继续。
创建 SSL 虚拟服务器:
- 导航到 流量管理 > 负载平衡 > 虚拟服务器。
- 创建另一个 SSL 虚拟服务器。
- 单击“服务和服务组”部分,然后添加新的 SSL 服务或绑定现有服务。
- 单击 Bind(绑定)。
- 单击继续。
- 单击 证 书部分并绑定服务器证书。
- 单击继续。
- 在“高级设置”中,单击“SSL 策略”。
- 单击 SSL 策略 部分以添加或选择现有策略。
- 在 策略绑定中,单击 添加并指定策略的名称。
- 在“操作”中,单击“添加”。
- 指定 SSL 操作的名称。在 转发操作虚拟服务器中,选择之前创建的 TCP 虚拟服务器。
- 单击创建。
- 在表达式中指定 CLIENT.SSL.CLIENT_HELLO.CIPHERS.HAS_HEXCODE(不受支持的密码的十六进制代码) 。
- 单击完成。
- 在策略中,配置表达式以评估不受支持的密码的流量。
- 将操作绑定到策略,并将策略绑定到 SSL 虚拟服务器。指定绑定点 CLIENTHELLO_REQ。
- 单击完成。
如果 ADC 不支持密码,则配置 SSL 操作以转发客户端流量
已复制!
失败!