StyleBook 配置

创建用于上载 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 证书和证书密钥文件的样书