创建用于上载 SSL 证书和证书密钥文件的样书
创建使用SSL协议的样书配置时,必须上载样书参数所需的SSL证书文件和证书密钥文件。StyleBook 允许您使用 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
然后在样本的 components 部分中创建两个组件,如下所示。my-lbvserver-comp
组件的类型为 ns። lbvserver,其中:
- “ns”是指您在导入样本部分中指定的内置命名空间 netscaler.nitro.config 和版本 10.5 的前缀。
lbvserver
是此命名空间中的内置样书。它对应于同名的 NetScaler 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.样本”中的样本将作为 NetScaler ADM 的一部分发送。
用户定义的vserver-certs-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
使用 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-ssldescription:"Thisstylebookdefinesaloadbalancingvirtualserverconfiguration."display-name:"LoadBalancingVirtualServer(SSL)"namespace:com.example.ssl.stylebooksschema-version:"1.0"version:"0.1"import-stylebooks:-namespace:netscaler.nitro.configprefix:nsversion:"10.5"-namespace:com.citrix.adc.stylebooksprefix:stlbversion:"1.0"parameters:-name:nametype:stringrequired:true-name:iptype:ipaddressrequired:true-name:lb-algtype:stringallowed-values:-ROUNDROBIN-LEASTCONNECTIONdefault:ROUNDROBIN-name:certificatelabel:"SSLCertificateFile"description:"ThefilenameoftheSSLcertificatefile"type:certfile-name:keylabel:"SSLCertificateKeyFile"description:"Thefilenameoftheservercertificate'sprivatekeyfile"type:keyfilecomponents:-name:my-lbvserver-comptype:ns::lbvserverproperties:name:$parameters.nameservicetype:SSLipv46:$parameters.ipport:443lbmethod:$parameters.lb-alg-name:lbvserver-certificate-comptype:stlb::vserver-certs-bindsdescription:Binds lbvserver with server certificateproperties:vserver-name:$ components.my-lbvserver-comp.properties.namecertificates:-cert-name:$parameters.name + "-lb-cert"cert-file:$parameters.certificatessl-inform:PEMkey-name:$parameters.name + "-key"key-file:$parameters.key
使用 NetScaler ADM API 创建配置包:
您还可以使用 NetScaler ADM API 创建将证书和密钥文件上载到所选 NetScaler 实例的配置包。有关如何使用 API 的更多信息,请参阅如何使用 API 创建配置来上载证书和密钥文件。
查看在 NetScaler 实例上定义的对象
在 NetScaler ADM 上创建样书配置(配置包)后,单击查看创建的对象以显示在目标 NetScaler 实例上创建的所有 NetScaler 对象