ADC

如果 ADC 不支持密码,则配置 SSL 操作以转发客户端流量

在客户端 hello 消息中,如果您收到 ADC 不支持的密码,则可以配置 SSL 操作将客户端流量转发到其他虚拟服务器。如果您不希望 SSL 卸载,请将此虚拟服务器配置为 TCP 或 SSL_BRIDGE 类型。ADC 上没有 SSL 卸载,该流量会被绕过。对于 SSL 卸载,请将 SSL 虚拟服务器配置为转发虚拟服务器。

请执行以下步骤:

  1. 添加 SSL 类型的负载平衡虚拟服务器。在此虚拟服务器上接收客户端流量。
  2. 将 SSL 服务绑定到此虚拟服务器。
  3. 添加 TCP 类型的负载平衡虚拟服务器。注意:对于要将流量转发到的虚拟服务器,IP 地址或端口号不是必需的。
  4. 使用端口 443 添加一个 TCP 服务。
  5. 将此服务绑定到之前创建的 TCP 虚拟服务器。
  6. 添加 SSL 操作,在 “转发” 参数中指定 TCP 虚拟服务器。
  7. 如果在客户端 hello 消息中收到特定的密码套件(由其十六进制代码标识),则添加一个 SSL 策略,指定上述操作。
  8. 将此策略绑定到 SSL 虚拟服务器。
  9. 保存配置。

使用 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 虚拟服务器

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器
  2. 创建 TCP 虚拟服务器。
  3. 单击 “ 服务和服务组 ” 部分,然后添加 TCP 服务或绑定现有服务。
  4. 单击绑定
  5. 单击继续

创建 SSL 虚拟服务器

  1. 导航到流量管理 > 负载平衡 > 虚拟服务器
  2. 创建另一个 SSL 虚拟服务器。
  3. 单击 “ 服务和服务组 ” 部分,然后添加新的 SSL 服务或绑定现有服务。
  4. 单击绑定
  5. 单击继续
  6. 单击 “ 书 ” 部分并绑定服务器证书。
  7. 单击继续
  8. 在 “高级设置”中,单击 SSL 策略。
  9. 单击 SSL 策略 部分以添加或选择现有策略。
  10. 在 “ 策略绑定” 中,单击 “ 加 ” 并指定策略的名称。
  11. 在“操作”中,单击“添加”。
  12. 为 SSL 操作指定一个名称。在 F orward Action 虚拟服务器中,选择之前创建的 TCP 虚拟服务器。
  13. 单击 Create(创建)。
  14. 在表达式中指定 CLIENT.SSL.CLIENT_HELLO.CIPHERS.HAS_HEXCODE(不支持的密码 的十六进制代码)。
  15. 单击 Done(完成)。
  16. 在策略中,配置表达式以评估不支持的密码的流量。
  17. 将操作绑定到策略,将策略绑定到 SSL 虚拟服务器。指定绑定点 CLIENTHELLO_REQ
  18. 单击 Done(完成)。
如果 ADC 不支持密码,则配置 SSL 操作以转发客户端流量