样书配置

创建用于上载 SSL 证书和证书密钥文件的样书

创建使用 SSL 协议的样书配置时,必须上载样书参数所需的 SSL 证书文件和证书密钥文件。样书允许您使用 NetScaler 控制台 GUI 直接从本地系统上载 SSL 文件和密钥文件。您还可以使用 NetScaler 控制台 API 来上载 NetScaler 控制台已经管理的证书文件和密钥文件。

样书配置

本文档帮助您创建自己的样书- 负载平衡虚拟服务器 (SSL) ,其中包含用于上载 SSL 证书和密钥文件的组件。此处提供的样书作为示例在选定的 NetScaler 实例上创建了基本的负载平衡虚拟服务器配置。该配置使用 SSL 协议。要使用此样书创建配置,必须提供虚拟服务器的名称和 IP 地址,选择负载平衡方法参数,上载虚拟服务器的证书文件和证书密钥文件,或者使用 NetScaler 控制台中已经存在的证书文件和证书密钥文件。这些参数在以下“参数”部分中指定:

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
 -
  name: passphrase
  label: "SSL Certificate Key Passphrase"
  description: "The password used to protect the certificate's private key file"
  type: password
<!--NeedCopy-->

然后在样书的组件部分中创建两个组件。my-lbvserver-comp 组件的类型为 ns::lbvserver,其中:

  • “ns”是指您在 import-stylebooks 部分中指定的内置命名空间 netscaler.nitro.config 和 10.5 版本的前缀。
  • lbvserver 是此命名空间中的内置样书。它对应于同名的 NetScaler NITRO lbvserver 资源。

第二个组件 lbvserver-certificate-comp 的类型为 stlb::vserver-certs-binds。前缀是 stlb 指在样书的导入样书部分中指定的命名空间“com.citrix.adc.stylebook”和 1.0 版。如果“com.citrix.adc.stylebook”命名空间可以看作 vserver-certs-binds 是一个文件夹,那么该文件夹中的另一个样书(或文件)。命名空间“com.citrix.adc.stylebooks”中的样书作为 NetScaler 控制台的一部分发货。

用户定义的 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
     cert-password: $parameters.passphrase
<!--NeedCopy-->

使用 API 基于此类样书创建配置时,只使用文件名(而不是完整文件路径)。这些文件预计已经在 NetScaler 控制台的证书和密钥文件文件夹中可用。上载的 SSL 证书文件存储在 NetScaler 控制台的/var/mps/tenants/.../ns_ssl_certs目录中 ,SSL 证书密钥文件存储在 NetScaler 控制台的 /var/mps/tenants/.../ns_ssl_keys目录中。

创建用于上载 SSL 文件的配置

以下过程使用样书示例中的 SSL 协议在选定的 NetScaler 实例上创建基本的负载平衡虚拟服务器配置。您可以使用此过程在 NetScaler 控制台中上载 SSL 证书文件和证书密钥文件。

要创建上载文件的配置,请执行以下操作:

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

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

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

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

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

  5. SSL 证书设置中,从本地存储文件夹中选择相应的文件。您也可以选择 NetScaler 控制台上存在的文件。

  6. 选择必须在其上创建配置的目标 NetScaler 实例,然后单击 创建”。

备注:

您也可以单击刷新图标,将最近在 NetScaler 控制台中发现的 NetScaler 实例添加到此窗口的可用实例列表中。

在 NetScaler 控制台中,以下作为 NetScaler 控制台一部分提供的默认样书允许您通过上载 SSL 证书和密钥来创建 SSL 支持。

  • HTTP/SSL 负载平衡样书 (lb)
  • HTTP/SSL 负载平衡(带监视器)样书 (lb-mon)
  • 带监视器的HTTP/SSL 内容切换应用程序 (cs-lb-mon)
  • 使用 CS、LB 和 SSL 功能的示例应用程序风格手册 (sample-cs-app)

构建您的样书

lb-vserver-ssl.yaml 文件的完整内容如下所示:

name: lb-vserver-ssl
namespace: com.example.ssl.stylebooks
version: "0.1"
description: "This stylebook defines a load balancing virtual server configuration."
display-name: "Load Balancing Virtual Server (SSL)"
schema-version: "1.0"

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
 -
  name: key
  label: "SSL Certificate Key Passphrase"
  description: "The password used to protect the certificate's private key file"
  type: password

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
     cert-password: $parameters.passphrase
<!--NeedCopy-->

使用 NetScaler 控制台 API 创建配置包

您还可以使用 NetScaler 控制台 API 来创建配置包,将证书和密钥文件上载到选定的 NetScaler 实例。有关如何使用 API 的更多信息,请参阅 如何使用 API 创建配置来上载证书和密钥文件。

查看在 NetScaler 实例上定义的对象

在 NetScaler 控制台上创建样书配置(配置包)后, 单击“查创建的对象”以显示在目标 NetScaler 实例上创建的所有 NetScaler 对象

上载 SSL 证书后在实例中创建的对象

创建用于上载 SSL 证书和证书密钥文件的样书