创建 StyleBook 以将 SSL 证书和证书密钥文件上传到 NetScaler Console
创建使用 SSL 协议的 StyleBook 配置时,必须根据 StyleBook 参数的要求上传 SSL 证书文件和证书密钥文件。StyleBook 允许您使用 NetScaler Console GUI 直接从本地系统上传 SSL 文件和密钥文件。您还可以使用 NetScaler Console API 上传已由 NetScaler Console 管理的证书文件和密钥文件。
StyleBook 配置
本文档帮助您创建自己的 StyleBook - 负载平衡虚拟服务器 (SSL) 包含用于上传 SSL 证书和密钥文件的组件。此处提供的 StyleBook 示例在选定的 NetScaler 实例上创建了一个基本的负载平衡虚拟服务器配置。该配置使用 SSL 协议。要使用此 StyleBook 创建配置,您必须提供虚拟服务器的名称和 IP 地址,选择负载平衡方法参数,并为虚拟服务器上传证书文件和证书密钥文件,或者使用 NetScaler Console 中已有的证书文件和证书密钥文件。这些在“parameters”部分中指定,如下所示:
parameters:
-
name: name
type: string
required: true
-
name: ip
type: ipaddress
required: true
-
name: lb-alg
type: string
allowed-values:
- ROUNDROBIN
- LEASTCONNECTION
default: ROUNDROBIN
-
name: certificate
label: "SSL Certificate File"
description: "The file name of the SSL certificate file"
type: certfile
-
name: key
label: "SSL Certificate Key File"
description: "The file name of the server certificate's private key file"
type: keyfile
然后,在 StyleBook 的 components 部分创建两个组件,如下所示。“my-lbvserver-comp”组件的类型为 ns::lbvserver,其中:
-
“ns”是前缀,指代您在 import-stylebooks 部分中指定的内置命名空间 netscaler.nitro.config 和版本 10.5。
-
“lbvserver”是此命名空间中的内置 StyleBook。它对应于同名的 NetScaler NITRO 负载平衡虚拟服务器资源。
第二个组件“lbvserver-certificate-comp”的类型为 stlb::vserver-certs-binds。前缀“stlb”指代 StyleBook 的 import-stylebooks 部分中指定的命名空间“com.citrix.adc.stylebooks”和版本 1.0。如果将“com.citrix.adc.stylebooks”命名空间视为一个文件夹,那么“vserver-certs-binds”就是该文件夹中的另一个 StyleBook(或文件)。位于命名空间“com.citrix.adc.stylebooks”中的 StyleBook 作为 NetScaler Console 的一部分提供。
用户定义的 StyleBook 使用的“vserver-certs-binds”StyleBook 允许您通过将证书和密钥文件上传到目标 NetScaler 实例,以及配置证书和密钥文件与相应虚拟服务器的绑定来轻松配置证书。此组件的属性是 - lb 虚拟服务器的名称以及您在创建配置包时提供的 SSL 证书的名称。
components:
-
name: my-lbvserver-comp
type: ns::lbvserver
properties:
name: $parameters.name
servicetype: SSL
ipv46: $parameters.ip
port: 443
lbmethod: $parameters.lb-alg
-
name: lbvserver-certificate-comp
type: stlb::vserver-certs-binds
description: Binds lbvserver with server certificate
properties:
vserver-name: $components.my-lbvserver-comp.properties.name
certificates:
-
cert-name: $parameters.name + "-lb-cert"
cert-file: $parameters.certificate
ssl-inform: PEM
key-name: $parameters.name + "-key"
key-file: $parameters.key
当您使用 API 从此类 StyleBook 创建配置时,只需使用文件名(而不是完整文件路径)。这些文件应已在 NetScaler Console 上的证书和密钥文件文件夹中可用。上传的 SSL 证书文件存储在 NetScaler Console 的 /var/mps/tenants/.../ns_ssl_certs 目录中,SSL 证书密钥文件存储在 NetScaler Console 的 /var/mps/tenants/.../ns_ssl_keys 目录中。
创建用于上传 SSL 文件的配置
以下过程使用上述 StyleBook 中的 SSL 协议,在选定的 NetScaler 实例上创建基本的负载平衡虚拟服务器配置。您可以使用此过程在 NetScaler Console 中上传 SSL 证书文件和证书密钥文件。
创建用于上传文件的配置
-
在 NetScaler Console 中,导航到 Applications > Configuration > StyleBooks。“StyleBooks”页面显示 NetScaler Console 中所有可用的 StyleBook。
-
向下滚动并选择 Load Balancing Virtual Server (SSL),或在搜索字段中键入 Load Balancing Virtual Server (SSL),然后按 Enter 键。
-
在 StyleBook 面板中单击创建配置链接。StyleBook 参数显示为一个用户界面页面,您可以在其中输入此 StyleBook 中定义的所有参数的值。
-
在基本负载均衡器设置部分中输入负载均衡器名称和虚拟 IP 地址。
-
在SSL 证书设置部分中,从本地存储文件夹中选择相应文件。或者,您可以选择 NetScaler Console 本身中存在的文件。
-
选择需要在其上创建配置的目标 NetScaler 实例,然后单击创建。
注意:
您还可以单击刷新图标,将 NetScaler Console 中最近发现的 NetScaler 实例添加到此窗口中可用的实例列表。
在 NetScaler Console 中,以下作为 NetScaler Console 的一部分提供的默认 StyleBook,通过上传 SSL 证书和密钥,使您能够创建 SSL 支持。
-
HTTP/SSL 负载均衡 StyleBook (lb)
-
HTTP/SSL 负载均衡(带监视器)StyleBook (lb-mon)
-
带监视器的 HTTP/SSL 内容切换应用程序 (cs-lb-mon)
-
使用 CS、LB 和 SSL 功能的示例应用程序 StyleBook (sample-cs-app)
您还可以创建自己的 StyleBook,以与上述 StyleBook 中描述的相同方式利用 SSL 证书
构建您的 StyleBook
文件 lb-vserver-ssl.yaml 的完整内容如下所示:
name: lb-vserver-ssl
description: "This stylebook defines a load balancing virtual server configuration."
display-name: "Load Balancing Virtual Server (SSL)"
namespace: com.example.ssl.stylebooks
schema-version: "1.0"
version: "0.1"
import-stylebooks:
-
namespace: netscaler.nitro.config
prefix: ns
version: "10.5"
-
namespace: com.citrix.adc.stylebooks
prefix: stlb
version: "1.0"
parameters:
-
name: name
type: string
required: true
-
name: ip
type: ipaddress
required: true
-
name: lb-alg
type: string
allowed-values:
- ROUNDROBIN
- LEASTCONNECTION
default: ROUNDROBIN
-
name: certificate
label: "SSL Certificate File"
description: "The file name of the SSL certificate file"
type: certfile
-
name: key
label: "SSL Certificate Key File"
description: "The file name of the server certificate's private key file"
type: keyfile
components:
-
name: my-lbvserver-comp
type: ns::lbvserver
properties:
name: $parameters.name
servicetype: SSL
ipv46: $parameters.ip
port: 443
lbmethod: $parameters.lb-alg
-
name: lbvserver-certificate-comp
type: stlb::vserver-certs-binds
description: Binds lbvserver with server certificate
properties:
vserver-name: $ components.my-lbvserver-comp.properties.name
certificates:
-
cert-name: $parameters.name + "-lb-cert"
cert-file: $parameters.certificate
ssl-inform: PEM
key-name: $parameters.name + "-key"
key-file: $parameters.key
使用 NetScaler Console API 创建配置包
您还可以使用 NetScaler Console API 创建配置包,用于将证书和密钥文件上传到所选 NetScaler 实例。有关如何使用 API 的更多信息,请参阅如何使用 API 创建配置以上传证书和密钥文件。
查看在 NetScaler 实例上定义的对象
在 NetScaler Console 上创建 StyleBook 配置包后,单击 查看已创建对象 以显示在目标 NetScaler 实例上创建的所有 NetScaler 对象