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