本主题提供了在虚拟服务中配置增强虚拟托管的分步说明,并且还详细说明了如何配置父虚拟服务和子虚拟服务。

配置增强虚拟托管

要启用增强虚拟托管,请执行以下操作:

1. 导航到应用程序 > 虚拟服务。单击创建虚拟服务,或者在编辑模式下打开现有的虚拟服务。

2. 单击虚拟托管 VS,然后选择父项子项以指定这是启用了 SNI 的虚拟托管虚拟服务的父虚拟服务或子虚拟服务。

3. 在虚拟托管类型下面,选择增强虚拟托管

注:

确保父虚拟服务及其子虚拟服务具有相同的虚拟托管类型。

SSL 配置文件和证书配置

与普通虚拟服务或 SNI 虚拟服务(仅允许使用 2 个 RSA 类型的证书和 2 个 EC 类型的证书)不同,EVH 父虚拟服务允许配置多个域名证书。将根据配置的证书查找 TLS 服务器名称,并在 TLS 连接上提供匹配的证书。如果不存在 TLS 服务器名称,或者 TLS 服务器名称与任何配置的证书中的任何公用名称/SAN/DNS 信息不匹配,则为该连接提供配置的证书列表中的第一个证书(默认证书)。



每个子虚拟服务可以具有单独的应用程序配置文件、WAF 配置文件,等等。



父虚拟服务

EVH 中的父虚拟服务未配置任何 vh_matches 配置。该虚拟服务接收所有流量,并在接收请求之前执行 TLS 终止(如有必要)。

父虚拟服务允许在该虚拟托管中配置多个证书,对于 SSL 连接,父虚拟服务根据客户端请求的 TLS 服务器名称和使用的密码选择匹配的服务器证书。如果请求服务器名称或未找到匹配项,则使用在虚拟服务上配置的第一个证书。对于 TLS 相互身份验证,必须仅在父虚拟服务上配置 PKI 配置文件。在 TLS 握手完成后,父虚拟服务接收所有请求,并将它们与其子虚拟服务上配置的主机名和路径进行匹配,然后选择匹配的子虚拟服务并将请求切换到该虚拟服务。如果子虚拟服务的配置与请求均不匹配,则由父虚拟服务配置处理请求。实际上,将保留到父虚拟服务的连接,但请求不断切换到其子虚拟服务以进行处理。



子虚拟服务

EVH 中的子虚拟服务配置了主机和路径匹配配置。如果请求主机和 URL 与子虚拟服务中的 vh_matches 配置匹配,则父虚拟服务执行 TCP 和 SSL 终止,并将请求处理发送到该虚拟服务。可以在子虚拟服务中配置多个主机,每个主机具有多个路径匹配。多个具有不冲突 vh_matches 配置的子虚拟服务可以与一个父虚拟服务相关联。子虚拟服务不能执行 TLS 终止,也不接受 SSL 配置,例如 SSL 配置文件、SSL 密钥和证书、PKI 配置文件,等等。

对于在子虚拟服务上配置的应用程序配置文件、策略、DataScript、缓存和压缩、WAF 配置文件,其中的所有请求或响应特定的配置设置适用于该子虚拟服务处理的请求。



选择 EVH 子虚拟服务

父 EVH 虚拟服务将终止 TCP/SSL 连接,并执行 HTTP 请求行处理。根据 URI、主机标头、匹配条件,可以使用查找键查找匹配的子虚拟服务。

路径查找条件

以下是支持的路径查找条件:

  • 等于

  • 开头为

  • 正则表达式模式匹配

将按照上述搜索顺序查找匹配的子虚拟服务。

备注

在为虚拟服务配置 EVH 时,请注意以下事项:

  • 虚拟托管虚拟服务必须是 SNI 或 EVH。

  • 如果父虚拟服务定义了 EVH,则:

    • 子虚拟服务不能附加证书或 SSL 配置文件。

    • 在子虚拟服务中不允许使用多个具有相同主机值的 vh_matches 配置。子虚拟服务可以在单个主机中配置多个路径。

    • 两个或更多子虚拟服务不能采用相同的组合。

  • 父虚拟服务不能是另一个父虚拟服务的子虚拟服务。

  • 在 EVH 虚拟服务上支持 HTTP/2。

  • OCSP 装订不适用于第一个证书(默认证书)以外的证书。