创建样本以将 SSL 证书和证书密钥文件上载到 NetScaler ADM
创建使用 SSL 协议的样书配置时,必须上载样书参数所需的 SSL 证书文件和证书密钥文件。样书 允许您使用 NetScaler ADM GUI 直接从本地系统上载 SSL 文件和密钥文件。您还可以使用 NetScaler ADM API 上载已由 NetScaler ADM 管理的证书文件和密钥文件。
样书配置
本文档帮助您创建自己的样书- 负载平衡虚拟服务器 (SSL) ,其中包含用于上载 SSL 证书和密钥文件的组件。此处提供的样书作为示例在选定的 NetScaler 实例上创建了基本的负载平衡虚拟服务器配置。该配置使用 SSL 协议。要使用此样书创建配置,必须提供虚拟服务器的名称和 IP 地址,选择负载平衡方法参数,然后上载虚拟服务器的证书文件和证书密钥文件,或者使用已经存在的证书文件和证书密钥文件存在于 NetScaler ADM 中。这些内容在 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
<!--NeedCopy-->
然后在样本的 components 部分中创建两个组件,如下所示。my-lbvserver-comp 组件的类型为 ns::lbvserver,其中:
- “ns”是指代在 import-样书部分中指定的内置命名空间 netscaler.nitro.config 和版本 10.5 的前缀。
- lbvserver 是此命名空间中的内置样书。它对应于同名的 NetScaler NITRO 负载平衡虚拟服务器资源。
第二个组件“lbvserver-certificate-comp”的类型为 stlb::vserver-certs-binds。前缀“stlb”指代在样书的 import-样书部分中指定的命名空间 com.citrix.adc.样书和版本 1.0。如果 com.citrix.adc.样书命名空间可以视为文件夹,则 vserver-certs-binds 是该文件夹中的另一个样书(或文件)。位于命名空间“com.citrix.adc.样本”中的样本将作为 NetScaler ADM 的一部分发送。
用户定义样本使用的“v服务器cers-binds”样本允许您通过将证书和密钥文件上载到目标 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
<!--NeedCopy-->
使用 API 基于此类样书创建配置时,只使用文件名(而不是完整文件路径)。这些文件预计已在 NetScaler ADM 的证书和密钥文件文件夹中可用。上载的 SSL 证书文件存储在 NetScaler ADM 的 /var/mps/tenants/…/ns_ssl_certs 目录,SSL 证书密钥文件存储在 /var/mps/tenants/…NetScaler ADM 中的 /ns_ssl_keys 目录。
创建用于上载 SSL 文件的配置
以下过程使用上面指定的样书中的 SSL 协议在选定的 NetScaler 实例上创建基本的负载平衡虚拟服务器配置。您可以使用此过程在 NetScaler ADM 中上载 SSL 证书文件和证书密钥文件。
创建配置用于上载文件
-
在 NetScaler ADM 中,导航到应用程序 > 配置 > 样本。样书页面显示您的 NetScaler ADM 中可用的所有样书。
-
向下滚动并选择 负载平衡虚拟服务器 (SSL) 或在搜索字段中键入负载平衡虚拟服务器 (SSL) ,然后按 Enter 键。
-
单击“样书”面板中的“创建配置”链接。
样书参数显示为用户界面页面,允许您输入此样书中定义的所有参数的值。
-
在基本负载平衡器设置部分中输入负载平衡器的名称和虚拟 IP 地址。
-
在 SSL 证书设置 部分,从本地存储文件夹中选择相应的文件。或者,您可以选择 NetScaler ADM 本身上存在的文件。
-
选择需要在其上创建配置的目标 NetScaler 实例,然后单击 创建”。
备注:
您还可以单击刷新图标,将 NetScaler ADM 中最近发现的 NetScaler 实例添加到此窗口中的可用实例列表中。
在 NetScaler ADM 中,以下作为 NetScaler ADM 一部分发布的默认样本允许您通过上载 SSL 证书和密钥来创建 SSL 支持。
- HTTP/SSL 负载平衡样书 (lb)
- HTTP/SSL 负载平衡(具有监视器)样本 (lb-mon)
- HTTP/SSL 内容交换应用程序(具有监视器)(cs-lb-mon)
- 使用 CS、LB 和 SSL 功能的示例应用程序样本 (sample-cs-app)
您还可以创建自己的样本,以上面的样本中所述的同一方式利用 SSL 证书
构建您的样书
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
<!--NeedCopy-->
使用 NetScaler ADM API 创建配置包
您还可以使用 NetScaler ADM API 创建将证书和密钥文件上载到所选 NetScaler 实例的配置包。有关如何使用 API 的更多信息,请 参阅如何使用 API 创建配置来上载证书和密钥文件。
查看在 NetScaler 实例上定义的对象
在 NetScaler ADM 上创建样书配置包后,单击 查看创建的对象 以显示在目标 NetScaler 实例上创建的所有 NetScaler 对象