NetScaler Console

使用 ACME 协议自动续订证书

NetScaler Console 支持自动证书管理环境 (ACME),这是一种旨在自动续订 SSL/TLS 证书的开放协议。

以前,网络管理员必须经历劳动密集型、多阶段的手动证书续订过程。ACME 支持通过提供一个强大的自动证书续订框架来缓解这些挑战,以执行以下操作:

  • 从受信任的证书颁发机构 (CA) 请求新证书。
  • 使用自动化方法验证域所有权(例如,DNS-01 质询)。
  • 在证书到期前自动续订。

NetScaler® Console 中的 ACME 支持

NetScaler Console 使用 acme.sh 客户端并支持以下证书颁发机构:

  • Let’s Encrypt
  • DigiCert

以下步骤说明了 NetScaler Console 中自动证书续订的发生方式:

  1. 当 NetScaler Console 使用 acme.sh 客户端为域发起证书请求时,该客户端会连接到所选的证书颁发机构(例如,Let’s Encrypt 或 DigiCert)。

  2. CA 会发出一个质询以证明域所有权,在本例中为 DNS-01 质询。

  3. NetScaler Console 使用预配置的凭据,自动使用 CA 提供的值更新域的 DNS TXT 记录。

  4. CA 验证 TXT 记录,确认域所有权。

  5. 验证成功后,CA 会向 NetScaler Console 颁发 SSL/TLS 证书。

  6. NetScaler Console 将证书存储在相应的存储中(证书存储/零接触存储)。

  7. 根据您提供的续订窗口,NetScaler Console 会在证书到期日期之前自动重复此续订过程。

ACME 支持高级架构

借助 NetScaler Console 中的 ACME 支持,您可以执行以下操作:

  • 在证书到期前自动续订
  • 在续订期间从一个 CA 切换到另一个 CA
  • 生成或上传 CSR 并请求新证书

以下是主要优势:

  • 完全自动化的生命周期,无需手动干预证书颁发或续订。

  • 可自定义的续订计划,以适应组织需求(例如,设置为在到期前 7 天续订)。

  • 消除因证书过期造成的停机时间。

  • 通过自动化到期跟踪和续订来降低运营开销。

  • 通过始终有效、符合 CA 最佳实践的证书来提高安全态势。

ACME 集成的配置步骤

集成 ACME 是一个一次性过程,包括以下步骤:

  • 步骤 1:配置证书颁发机构 (CA)。
  • 步骤 2:选择要续订的证书。
  • 步骤 3:添加 DNS 提供商并映射相应的域。

先决条件

  • 确保您必须拥有有效的证书颁发机构 (CA) 帐户和相应的许可证。
  • 确保您拥有 DNS 提供商访问凭据。

步骤 1:配置证书颁发机构 (CA)

执行以下步骤以注册用于续订的证书颁发机构 (CA):

  1. 导航到 Infrastructure > SSL Dashboard。如果您是首次配置 ACME,则会看到一个横幅,上面显示“Automated renewals for SSL certificates”(SSL 证书的自动续订)。单击 Get Started

    ACME 入门

    或者

    导航到 Infrastructure > SSL Dashboard > Third-party Integration > CA Vendors,然后单击 Add

  2. 输入名称并选择 CA 供应商。目前,仅支持 Let’s EncryptDigiCert Inc

  3. 提供其他详细信息,例如电子邮件地址、ACME 目录 URL。

  4. 输入 NetScaler Console 必须自动续订证书的天数。

  5. 单击 Save and continue。NetScaler Console 尝试连接到 CA。如果连接失败,请查看提供的详细信息,更正配置详细信息,然后重试。

    ACME 配置 CA 供应商

步骤 2:选择要续订的证书

添加 CA 详细信息后,NetScaler Console 会自动扫描所有证书(来自证书存储和零接触存储),并单独列出由配置的 CA 颁发的证书。查看列出的证书。

  1. 选择您要自动续订的证书。例如,如果您将 Let’s Encrypt 配置为 CA,并且有 2 个来自 Let’s Encrypt 的证书和 2 个来自其他供应商的证书,则仪表板会显示:Let’s Encrypt: 2 and Other CA: 2

    ACME 选择证书

  2. 您可以单击 Add 以添加由不同 CA 颁发的证书,或单击 Remove 以删除您不想自动续订的证书。如果您选择来自不同供应商的证书,系统会提示您确认供应商更改。确认后,当这些证书的续订窗口到达时,它们将通过新配置的 CA 进行续订。

    注意:

    确保证书存储和零接触证书存储中没有重复的证书。如果存在重复证书,则每个存储的续订过程将发生两次。

    ACME 供应商更改提示

  3. 单击 Save and continue

    注意:

    证书续订后仍保留在各自的存储中。例如,如果证书存储在证书存储中,则其续订版本也放置在证书存储中。如果证书存储在零接触存储中,则其续订版本也放置在零接触存储中。

    证书部署行为取决于存储类型。

    • 如果证书存储在证书存储中,则必须手动部署到 NetScaler。
    • 如果证书存储在零接触存储中,则证书会自动部署到 NetScaler,无需管理员干预。

    我们建议您使用零接触证书管理,以实现续订证书的无缝、全自动化部署。有关详细信息,请参阅零接触证书管理

步骤 3:添加 DNS 提供商并映射域

  1. DNS provider & domain mapping 页面上单击 Add

  2. Select DNS provider 下拉列表中选择 DNS 提供商。acme.sh 支持的 DNS 提供商列在下拉列表中。如果您在列表中没有看到您的 DNS 提供商,则表示它不受支持。

  3. 输入提供商详细信息,例如 Access key ID、Secret Access Key,然后单击 Save 以保存配置。

  4. Domain Mapping 下单击 Add Domain

  5. 选择由配置的 DNS 提供商服务的域。

    重要:

    确保每个域都链接到正确的 DNS 提供商。NetScaler Console 使用这些映射自动执行 DNS-01 质询。在颁发或续订期间,NetScaler Console 会在映射的 DNS 提供商中创建所需的 TXT 记录。验证成功后,CA 会颁发或续订证书。仅当所有关联域都正确映射到其 DNS 提供商时,证书才会续订。

    例如,如果您的组织使用 Amazon Route53 作为 DNS 提供商。首先,在 DNS Provider Details 下添加 Amazon Route53 凭据(Access Key ID 和 Secret Key)。然后,映射由 Amazon Route53 管理的域(例如:example.com、app.example.com)。当为这些域颁发或续订证书时,NetScaler Console 会自动在 Amazon Route53 中创建所需的 TXT 记录。验证成功后,CA 会颁发或续订证书。

    支持以下公共 DNS 提供商:

    • ACME DNS
    • Active24
    • Aliyun
    • Alwaysdata
    • Amazon Route53
    • Azure DNS
    • ClouDNS.net
    • CloudFlare
    • ConoHa
    • Core-Networks
    • DDNSS.de
    • DNSMadeEasy
    • DNSPod.cn
    • DNSPod.com
    • DNSimple
    • DigitalOcean
    • DirectAdmin
    • DreamHost
    • DuckDNS.org
    • Exoscale
    • FreeDNS
    • Gandi LiveDNS
    • GoDaddy.com
    • Google Cloud DNS
    • Hurricane Electric
    • INWX
    • ISPConfig 3.1
    • Infoblox
    • Knot DNS
    • Leaseweb.com
    • Linode
    • Loopia
    • LuaDNS
    • MailinaBox
    • MaraDNS
    • Misaka.io
    • MyDNS.JP
    • NLnetLabs NSD
    • NS1.com
    • Name.com
    • Namecheap
    • Namesilo
    • Neodigit.net
    • Netcup
    • Nexcess
    • OPNsense
    • Online.net
    • OpenProvider
    • Plesk XML
    • PointHQ
    • PowerDNS
    • RcodeZero
    • Schlundtech
    • Selectel
    • UltraDNS
    • VSCALE
    • Vultr
    • Zilore
    • Zonomi
    • autoDNS-InternetX
    • cyon.ch
    • deSEC.io
    • durabledns.com
    • easyDNS.net
    • hosting.de
    • jdcloud.com
    • nic.ru
    • nsupdate
    • one.com
    • reg.ru

    ACME 添加 DNS 提供商

完成所有三个步骤后,NetScaler Console 会配置 ACME CA 服务器。选定的证书将针对映射的域进行续订。 NetScaler Console 会定期检查证书有效性,并在它们到期前(根据配置的窗口)续订它们。无需手动干预,证书始终保持有效和最新。

颁发和续订

导航到 Infrastructure > SSL Dashboard > Issuance & Renewals 以检查所有续订活动以及证书颁发产生的新请求。

自动续订

Automatic renewals 选项卡列出了已注册自动续订的证书。当配置的续订窗口到达时,NetScaler Console 会自动续订它们。

您还可以在计划的续订窗口之前触发按需续订。对于按需续订,请选择所需的证书,然后单击 Renew now

如果您不希望某些证书自动续订,则可以转为手动续订。要将证书从自动续订转移到手动续订,请选择所需的证书,然后单击 Migrate to manual renewal

ACME 自动续订

手动续订

Manual renewals 选项卡列出了所有必须手动续订的证书。这些证书必须手动更新,可以通过离线续订证书并将其上传到相应的存储,或者使用 Renew now 选项。

要续订证书,请选择一个证书,然后单击 Renew now。如果证书由注册的 CA 颁发,并且其域的 DNS 提供商已配置,则您可以使用 ACME 按需续订它,而无需将其移至自动续订。

您还可以将证书移至自动续订。要将证书从手动续订转移到自动续订,请选择所需的证书,然后单击 Migrate to automatic renewal

注意:

您一次只能续订或迁移一个证书。

ACME 手动续订

颁发和续订日志

Issuance and renewal logs 选项卡提供了使用 ACME 的证书请求列表,包括颁发和续订。对于失败事件,您可以单击信息图标以查看详细的错误信息。

ACME 颁发和续订日志

颁发证书

NetScaler Console 中的 ACME 集成支持直接使用 ACME 协议请求新证书。您可以在 NetScaler Console 中创建 CSR,或上传现有 CSR 以请求新证书。

导航到 Infrastructure > SSL dashboard > Issuances & Renewal,然后单击 Issue Certificate,并根据您的场景选择以下选项之一:

  • I do not have CSR:如果您还没有 CSR,NetScaler Console 允许您生成一个并颁发新证书。
  • I have CSR:如果您已经有一个离线生成的 CSR,则可以上传它以颁发证书。

不使用 CSR 颁发证书

执行以下步骤以生成 CSR 并颁发新证书:

  1. 导航到 Infrastructure > SSL dashboard > Issuances & Renewal,然后单击 Issue Certificate,并选择 I do not have CSR

    ACME 支持颁发证书

  2. Certificate key 页面上,通过选择 I have a key 上传现有密钥,或通过选择 I do not have a key 生成新密钥。

    ACME 证书密钥

  3. 输入所需的 CSR 信息。

    ACME CSR 信息

  4. 为 ACME 请求选择 CA、DNS 提供商和证书部署模式。选择 Cert Store 进行手动部署,或选择 Zero Touch Store 进行 NetScaler 上的自动部署。

  5. 如果您希望证书将来自动续订,请选择 Auto renew the certificate

    ACME 不使用 CSR 的证书存储

  6. 单击 Save

使用 CSR 颁发证书

如果您已经有一个离线生成的 CSR,并且想要上传它以颁发证书,请执行以下步骤:

  1. 导航到 Infrastructure > SSL dashboard > Issuances & Renewal,然后单击 Issue Certificate,并选择 I have CSR

    ACME 支持颁发证书

  2. 从本地系统选择 CSR 文件和关联的密钥文件。

    ACME CSR 文件选择

  3. 为 ACME 请求选择 CA、DNS 提供商和证书部署模式。选择 Cert Store 进行手动部署,或选择 Zero Touch Store 进行 NetScaler 上的自动部署。

  4. 如果您希望证书将来自动续订,请选择 Auto renew the certificate

    ACME 使用 CSR 颁发证书

  5. 单击 Save

第三方集成

您可以添加和管理多个 CA 供应商和 DNS 提供商。

您可以从 Third Party Integration 页面执行以下操作:

  • 添加或编辑 CA 供应商
  • 更改自动续订设置
  • 从现有配置的 CA 添加或编辑证书
  • 添加或编辑 DNS 提供商
  • 更改域映射

添加或编辑 CA 供应商

您可以注册多个 CA 供应商来管理由不同供应商颁发的证书。您还可以编辑现有 CA 供应商的详细信息。

  1. 导航到 SSL dashboard > Third party integration > ACME > CA Vendors。单击 Add
  2. 要添加 CA 供应商,请提供 CA 供应商的名称并选择 CA。
  3. 要编辑现有 CA 供应商详细信息,请选择 CA 供应商,然后单击 Edit
  4. 添加或更新所需的详细信息。
  5. 单击 Save

更改自动续订设置

要更改自动续订设置,请执行以下步骤:

  1. 导航到 SSL dashboard > Third party integration > ACME > CA Vendors
  2. 选择一个 CA 供应商,然后单击 Edit
  3. Configure certificate Authority vendor 中,根据您的要求更改 Auto renew settings 部分中的天数。
  4. 单击 Save and continue
  5. 完成工作流程。

从现有配置的 CA 添加或编辑证书

要从现有配置的 CA 添加或编辑证书,请执行以下步骤:

  1. 导航到 SSL dashboard > Third party integration > ACME > CA Vendors
  2. 选择一个 CA 供应商,然后单击 Edit
  3. 导航到 Step 2 Select certificates,然后添加或删除所需的证书。
  4. 单击 Save and continue
  5. 完成工作流程。

注意:

如果证书尚未从原始 CA 解除映射,则它不会出现在新 CA 的选择列表中。

添加或编辑 DNS 提供商

要添加新的 DNS 提供商或编辑现有 DNS 提供商的现有域映射,请执行以下步骤:

  1. 导航到 SSL dashboard > Third party integration > ACME > DNS Providers
  2. 要添加 DNS 提供商,请单击 Add。选择 DNS 提供商,然后单击 Save
  3. 要编辑现有 DNS 提供商,请选择一个 DNS 提供商,然后单击 Edit
  4. 添加或更新所需的详细信息。
  5. 单击 Save

更改域映射

要编辑现有 DNS 提供商的域映射,请执行以下步骤:

  1. 导航到 SSL dashboard > Third party integration > ACME > DNS Providers
  2. 选择一个 DNS 提供商,然后单击 Edit
  3. 导航到 Domain mapping,并根据需要添加或删除域。
  4. 单击 Save

重要:

如果域未映射,则其证书续订将停止。始终将域重新映射到有效的 DNS 提供商,以确保续订继续。

限制

  • 证书续订仅适用于 acme.sh 支持的 DNS 提供商。

自动证书续订相关问题排查

本节列出了一些可能发生的常见错误消息及其关联的根本原因:

  • 当证书中的域名不符合 ACME 要求时,会报告 Certificate has invalid domain - ADCD 错误。

  • 当请求的域名缺少点(例如“example”而不是“example.com”)时,会报告 Invalid identifiers requested :: Cannot issue for “testdomain”: Domain name needs at least one dot

  • 当 ACME 客户端无法从 CA 获取随机数时(通常是由于网络或服务器问题),会报告 Could not get nonce from the CA server. Please check the CA server configuration.

  • 当 ACME 客户端无法初始化与 CA 服务器的通信时(可能是由于配置错误),会报告 Cannot initialize API for the CA server. Please check the CA server configuration.

  • 当域名格式无效或 ACME 协议不允许时,会报告 Invalid domain name provided. Please check the domain name and try again.

  • 当证书请求的域列表没有更改且证书已存在时,会报告 Domains not changed. Certificate with same configuration already exists.

  • 当 ACME 客户端无法添加域验证所需的 DNS TXT 记录时,会报告 Error adding TXT record for domain validation. Please check the DNS configuration and try again.

  • 当存在签名不匹配时(通常是由于客户端和服务器之间的时间同步问题),会报告 Signature does not match. Please check the server time as it may not be in sync.

  • 当未为基于 DNS 的域验证指定 DNS 提供商时,会报告 Certificate is missing a DNS provider name.

  • 当尝试证书续订但未配置活动 DNS 提供商时,会报告 Renewal skipped as no active DNS providers are configured.

  • 当提供的联系人电子邮件地址无效或无法解析时,会报告 Error validating contact(s) :: unable to parse email address

  • 当 ACME 客户端无法完成订单时(通常是由于 ACME 目录 URL 无效或无法访问),会报告 Unable to process finalize order request. (For invalid ACME Directory URL)

  • 当系统中找不到或未激活指定的 DNS 提供商时,会报告 DNS Provider - TestDNS does not exist or is not active.

  • 当 CA 配置 ID 缺失或与任何现有配置不匹配时,会报告 Config CA ID is empty/does not exist.