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

注意:此功能在版本 12.1 版本 49.x 及更高版本中可用。

在客户端问候消息中,如果您收到 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
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
sh ssl action act1
1)  Name: act1
    Type: Data Insertion
    Forward to: v2
    Hits: 0
    Undef Hits: 0
    Action Reference Count: 1
 Done
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

使用 GUI 进行配置

创建 TCP 虚拟服务器

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

创建 SSL 虚拟服务器

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

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