Application Delivery Management

创建样本以将 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 证书文件和证书密钥文件。

创建配置用于上载文件

  1. 在 NetScaler ADM 中,导航到应用程序 > 配置 > 样本样书页面显示您的 NetScaler ADM 中可用的所有样书。

  2. 向下滚动并选择 负载平衡虚拟服务器 (SSL) 或在搜索字段中键入负载平衡虚拟服务器 (SSL) ,然后按 Enter 键。

  3. 单击“样书”面板中的“创建配置”链接。

    样书参数显示为用户界面页面,允许您输入此样书中定义的所有参数的值。

  4. 在基本负载平衡器设置部分中输入负载平衡器的名称和虚拟 IP 地址。

  5. SSL 证书设置 部分,从本地存储文件夹中选择相应的文件。或者,您可以选择 NetScaler ADM 本身上存在的文件。

  6. 选择需要在其上创建配置的目标 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 上创建 StyleBook 配置包后, 单击“查创建的对象”以显示在目标 NetScaler 实例上创建的所有 NetScaler 对象

本地化后的图片

创建样本以将 SSL 证书和证书密钥文件上载到 NetScaler ADM