使用 ACME 协议进行自动化证书续订
NetScaler Console 支持自动化证书管理环境 (ACME),这是一种旨在自动化 SSL/TLS 证书续订的开放协议。
以前,网络管理员必须经历劳动密集型、多阶段的手动证书续订过程。ACME 支持通过提供一个强大的自动化证书续订框架来缓解这些挑战,以执行以下操作:
-
从受信任的证书颁发机构 (CA) 请求新证书。
-
使用自动化方法验证域所有权(例如,DNS-01 质询)。
-
在到期前自动续订证书。
NetScaler® Console 中的 ACME 支持
NetScaler Console 使用
acme.sh 客户端并支持以下证书颁发机构:
-
让我们加密
-
DigiCert Inc
-
赛迪高有限公司
-
安信公司
-
GlobalSign
-
GoDaddy.com, Inc
-
ZeroSSL
-
谷歌信任服务
-
谷歌公共CA
-
BuyPass Go SSL
-
阿克塔利斯
-
SSL.com
-
哈希公司 Vault
-
斯莫尔斯泰普
-
佩布尔
-
HARICA
-
EJBCA
以下步骤说明了 NetScaler Console 中如何进行自动化证书续订:
-
当 NetScaler Console 使用
acme.sh客户端为域发起证书请求时,该客户端会连接到所选的证书颁发机构(例如,Let's Encrypt 或 DigiCert)。 -
CA 会发出一个挑战以证明域所有权,在这种情况下,这是一个 DNS-01 挑战。
-
NetScaler Console 使用预配置的凭据,自动使用 CA 提供的值更新域的 DNS TXT 记录。
-
CA 验证 TXT 记录,确认域所有权。
-
成功验证后,CA 会将 SSL/TLS 证书颁发给 NetScaler Console。
-
NetScaler Console 将证书存储在相应的存储区(证书存储区/零接触存储区)中。
-
根据您提供的续订窗口,NetScaler Console 会在证书过期日期之前自动重复此续订过程。
借助 NetScaler Console 中的 ACME 支持,您可以执行以下操作:
-
在证书过期前自动续订
-
在续订期间从一个 CA 切换到另一个 CA
-
生成或上传 CSR 并请求新证书
以下是主要优势:
-
全自动生命周期,无需手动干预证书颁发或续订。
-
可自定义的续订计划,以满足组织需求(例如,设置为在到期前 7 天续订)。
-
消除因证书过期导致的停机时间。
-
通过自动化过期跟踪和续订来降低运营开销。
-
借助始终有效且符合 CA 最佳实践的证书,提高安全态势。
ACME 集成配置步骤
集成 ACME 是一次性过程,包括以下步骤:
-
步骤 1:配置证书颁发机构 (CA)。
-
步骤 2:选择要续订的证书。
-
步骤 3:添加 DNS 提供商并映射相应的域。
先决条件
-
确保您必须拥有证书颁发机构 (CA) 的有效帐户以及相应的许可证。
-
确保您拥有 DNS 提供商访问凭据。
步骤 1:配置证书颁发机构 (CA)
执行以下步骤以注册用于续订的证书颁发机构 (CA):
-
导航到 Infrastructure > SSL Dashboard。如果您是首次配置 ACME,则会看到一个横幅,上面显示“SSL 证书的自动续订”。单击 Get Started。
或导航到 基础架构 > SSL 控制板 > 第三方集成 > CA 供应商,然后单击 添加。 -
输入名称并选择 CA 供应商。目前,仅支持 Let's Encrypt 和 DigiCert Inc。
-
提供其他详细信息,例如电子邮件地址、ACME 目录 URL。
-
输入 NetScaler Console 必须自动续订证书的天数。
-
单击 保存并继续。NetScaler Console 尝试连接到 CA。如果连接失败,请查看提供的详细信息,更正配置详细信息,然后重试。ACME 配置 CA 供应商(/en-us/netscaler-application-delivery-management-software/media/acme-configure-ca-vendor.png)
步骤 2:选择要续订的证书
添加 CA 详细信息后,NetScaler Console 会自动扫描所有证书(来自证书存储和零接触存储),并单独列出由配置的 CA 颁发的证书。查看列出的证书。
-
选择要自动续订的证书。例如,如果您将 Let’s Encrypt 配置为 CA,并且有 2 个来自 Let’s Encrypt 的证书和 2 个来自其他供应商的证书,则仪表板会显示:
Let’s Encrypt: 2 and Other CA: 2。ACME 支持高级架构(/en-us/netscaler-application-delivery-management-software/media/acme-select-certificates.png) -
您可以单击 添加 以添加由不同 CA 颁发的证书,或单击 删除 以删除您不想自动续订的证书。如果您选择来自不同供应商的证书,系统会提示您确认供应商更改。确认后,当这些证书的续订窗口到达时,它们将通过新配置的 CA 进行续订。注意:确保证书存储和零接触证书存储中没有重复的证书。如果存在重复证书,则每个存储的续订过程将发生两次。ACME 支持高级架构(/en-us/netscaler-application-delivery-management-software/media/acme-vendor-change-prompt.png)
-
单击 保存并继续。注意:续订后,证书仍保留在其各自的存储中。例如,如果证书存储在证书存储中,则其续订版本也放置在证书存储中。如果证书存储在零接触存储中,则其续订版本也放置在零接触存储中。证书部署行为取决于存储类型。
-
如果证书存储在证书存储中,则必须手动部署到 NetScaler。
-
如果证书存储在零接触存储中,则证书会自动部署到 NetScaler,无需管理员干预。 我们建议您使用零接触证书管理,以实现续订证书的无缝、全自动部署。有关更多信息,请参阅零接触证书管理。
-
步骤 3:添加 DNS 提供商并映射域
-
在“DNS 提供商和域映射”页面上,单击“添加”。
-
从“选择 DNS 提供商”下拉列表中选择 DNS 提供商。
acme.sh支持的 DNS 提供商列在下拉列表中。如果您在列表中没有看到您的 DNS 提供商,则表示它不受支持。 -
输入提供商详细信息,例如访问密钥 ID、秘密访问密钥,然后单击“保存”以保存配置。
-
在“域映射”下,单击“添加域”。
-
选择由配置的 DNS 提供商服务的域。重要提示:确保每个域都链接到正确的 DNS 提供商。NetScaler Console 使用这些映射自动执行 DNS-01 质询。在颁发或续订期间,NetScaler Console 会在映射的 DNS 提供商中创建所需的 TXT 记录。验证成功后,CA 会颁发或续订证书。仅当所有关联域都正确映射到其 DNS 提供商时,证书才会续订。例如,如果您的组织使用 Amazon Route53 作为 DNS 提供商。首先,在 DNS 提供商详细信息下添加 Amazon Route53 凭据(访问密钥 ID 和秘密密钥)。然后,映射由 Amazon Route53 管理的域(例如:example.com、app.example.com)。当这些域的证书颁发或续订时,NetScaler Console 会自动在 Amazon Route53 中创建所需的 TXT 记录。验证成功后,CA 会颁发或续订证书。支持以下公共 DNS 提供商:
-
1984.托管
-
ACME DNS
-
AcmeProxy 服务器 API
-
Active24
-
Akamai.com 边缘 DNS
-
阿里云
-
All-inkl Kas 服务器
-
Alviy.com
-
亚马逊 Route53
-
Anexia.com CloudDNS
-
ArtFiles.de
-
ArvanCloud.ir
-
autoDNS-InternetX
-
阿祖尔 DNS
-
Azion.om
-
Beget.com
-
BookMyName.com
-
Bunny.net
-
CloudFlare
-
ClouDNS.net
-
ConoHa
-
Constellix.com
-
核心网络
-
cPanel 服务器 API
-
Curanet.dk
-
cyon.ch
-
DDNSS.de
-
deSEC.io
-
DigitalOcean
-
DirectAdmin
-
DNS 服务
-
DNSExit.com
-
dns.la
-
DNSMadeEasy
-
迪恩西普尔
-
dnsHome.de
-
DNSPod.cn
-
DNSPod.com
-
多曼-奥芬西夫 do.de
-
DomeneShop.no
-
DreamHost
-
DuckDNS.org
-
durabledns.com
-
Dyn.com
-
DynDnsFree.de
-
Dynu.com
-
DynV6.com
-
easyDNS.net
-
edgecenter DNS 接口
-
EUserv.com
-
艾克索斯凯尔
-
Fornex.com
-
FreeDNS
-
FreeMyIP.com
-
Gandi 实时DNS
-
Gcore.com
-
GeoScaling.com
-
GoDaddy.com
-
谷歌云 DNS
-
Google 域名
-
Hetzner.com
-
Hexonet.com
-
hosting.de
-
HuaweiCloud.com
-
飓风电气
-
飓风电气 HE.net DDNS
-
英孚博克斯
-
Infomaniak.com
-
INWX
-
IONOS 云 DNS
-
IONOS.de
-
InternetBS.net
-
ISPConfig 3.1 管理面板
-
jdcloud.com
-
Joker.com
-
kapper.net
-
King.host
-
诺特 DNS
-
Leaseweb.com
-
莱克西肯 DNS 客户端
-
利马城.de
-
莱诺德
-
Linode.com-Old
-
卢皮亚
-
LuaDNS
-
MailinaBox
-
MaraDNS
-
mijn.host
-
Misaka.io
-
MyDNS.JP
-
神话野兽.com
-
Name.com
-
纳姆奇普
-
NameMaster.de
-
纳姆西洛
-
Nanelo.com
-
NederHost.nl
-
Neodigit.net
-
内特卡普
-
Netlify.com
-
nic.ru
-
尼亚拉
-
NLnetLabs NSD
-
NS1.com
-
内克塞斯
-
one.com
-
Online.net
-
omg.lol
-
OpenProvider
-
OpenStack Designate 应用程序接口
-
欧朋森
-
Oracle 云基础设施-OCI
-
OVH.com
-
普莱斯克 XML
-
PointHQ
-
Porkbun.com
-
PowerDNS
-
RackCorp.com
-
RackSpace.com
-
rage4.com
-
RcodeZero
-
reg.ru
-
ScaleWay.com
-
施伦德科技
-
赛莱特
-
SelfHost.de
-
ServerCow.de
-
Simply.com
-
泰克尼蒂姆 DNS 服务器
-
tele3.cz
-
Tencent.com
-
Timeweb.Cloud
-
TransIP.nl
-
UltraDNS
-
联合域名转售
-
unoeuro.com
-
variomedia.de
-
Vercel.com
-
veesp.com
-
versio.nl AuroraDNS
-
VSCALE
-
vshosting.cz CloudDNS
-
沃特
-
Websupport.sk
-
West.cn
-
World4You.com
-
扬德克斯 360 商业版 DNS API。
-
扬德克斯云 DNS
-
泽洛尔
-
Zone.eu
-
ZoneEdit.com
-
佐诺米

-
完成所有三个步骤后,NetScaler Console 会配置 ACME CA 服务器。所选证书将针对映射的域进行续订。 NetScaler Console 会定期检查证书的有效性,并在证书过期前(根据配置的续订窗口)续订它们。无需手动干预,证书始终保持有效和最新。
颁发和续订
导航到 Infrastructure > SSL Dashboard > Issuance & Renewals 以检查所有续订活动以及证书颁发产生的新请求。
自动续订
自动续订选项卡列出了已注册自动续订的证书。当达到配置的续订窗口时,NetScaler Console 会自动续订它们。
您还可以在计划的续订窗口之前触发按需续订。要进行按需续订,请选择所需的证书,然后单击立即续订。
如果您不希望某些证书自动续订,可以将其移至手动续订。要将证书从自动续订转移到手动续订,请选择所需的证书,然后单击迁移到手动续订。
手动续订
手动续订选项卡列出了所有必须手动续订的证书。这些证书必须手动更新,方法是离线续订证书并将其上传到相应的存储,或者使用立即续订选项。
要续订证书,请选择一个证书并单击立即续订。如果证书由注册的 CA 颁发,并且其域的 DNS 提供商已配置,则您可以使用 ACME 按需续订它,而无需将其移至自动续订。
您还可以将证书移至自动续订。要将证书从手动续订转移到自动续订,请选择所需的证书,然后单击迁移到自动续订。
注意:
您一次只能续订或迁移一个证书。
颁发和续订日志
“颁发和续订日志”选项卡提供了使用 ACME 的证书请求列表,包括颁发和续订。对于失败的事件,您可以单击信息图标以查看详细的错误信息。
颁发证书
NetScaler Console 中的 ACME 集成支持直接使用 ACME 协议请求新证书。您可以在 NetScaler Console 中创建 CSR,也可以上传现有 CSR 来请求新证书。
导航到 Infrastructure > SSL dashboard > Issuances & Renewal,然后单击颁发证书,并根据您的场景选择以下选项之一:
-
我没有 CSR:如果您还没有 CSR,NetScaler Console 允许您生成一个并颁发新证书。
-
我有 CSR:如果您已经有离线生成的 CSR,则可以上传它来颁发证书。
不使用 CSR 颁发证书
执行以下步骤以生成 CSR 并颁发新证书:
-
导航到 Infrastructure > SSL dashboard > Issuances & Renewal,然后单击颁发证书并选择我没有 CSR。

-
在“证书密钥”页面上,通过选择我有一个密钥来上传现有密钥,或通过选择我没有密钥来生成新密钥。

-
输入所需的 CSR 信息。

-
为 ACME 请求选择 CA、DNS 提供程序和证书部署模式。对于手动部署,请选择 Cert Store;对于 NetScaler 上的自动部署,请选择 Zero Touch Store。
-
如果您希望证书将来自动续订,请选择 Auto renew the certificate。

-
单击 Save。
使用 CSR 颁发证书
如果您已经离线生成了 CSR 并希望上传它以颁发证书,请执行以下步骤:
-
导航到 基础设施 > SSL 控制面板 > 颁发与续订,然后单击 颁发证书 并选择 我有 CSR。

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

-
为 ACME 请求选择 CA、DNS 提供程序和证书部署模式。对于手动部署,请选择 Cert Store;对于 NetScaler 上的自动部署,请选择 Zero Touch Store。
-
如果您希望证书将来自动续订,请选择 Auto renew the certificate。

-
点击保存。
第三方集成
您可以添加和管理多个 CA 供应商和 DNS 提供商。
您可以从第三方集成页面执行以下操作:
-
添加或编辑 CA 供应商
-
更改自动续订设置
-
添加或编辑来自现有已配置 CA 的证书
-
添加或编辑 DNS 提供商
-
更改域映射
添加或编辑 CA 供应商
您可以注册多个 CA 供应商,以管理由不同供应商颁发的证书。您还可以编辑现有 CA 供应商的详细信息。
-
导航到 SSL 控制板 > 第三方集成 > ACME > CA 供应商。点击添加。
-
要添加 CA 供应商,请提供 CA 供应商的名称并选择 CA。
-
要编辑现有 CA 供应商的详细信息,请选择 CA 供应商并点击编辑。
-
添加或更新所需详细信息。
-
点击 保存。
更改自动续订设置
要更改自动续订设置,请执行以下步骤:
-
导航到 SSL 控制板 > 第三方集成 > ACME > CA 供应商。
-
选择一个 CA 供应商,然后点击 编辑
-
在 配置证书颁发机构供应商 中,根据您的要求在 自动续订设置 部分更改天数。
-
点击 保存并继续。
-
完成工作流程。
从现有已配置的 CA 添加或编辑证书
要从现有已配置的 CA 添加或编辑证书,请执行以下步骤
-
导航到 SSL 控制板 > 第三方集成 > ACME > CA 供应商。
-
选择一个 CA 供应商,然后点击 编辑。
-
导航到 步骤 2 选择证书,然后添加或删除所需的证书。
-
点击 保存并继续。
-
完成工作流程。
注意:
如果证书尚未从原始 CA 解除映射,则它不会出现在新 CA 的选择列表中。
添加或编辑 DNS 提供程序
要添加新的 DNS 提供程序或编辑现有 DNS 提供程序的现有域映射,请执行以下步骤:
-
导航到 SSL 仪表板 > 第三方集成 > ACME > DNS 提供商.
-
要添加 DNS 提供程序,请单击“添加”。选择 DNS 提供程序,然后单击“保存”。
-
要编辑现有 DNS 提供程序,请选择 DNS 提供程序,然后单击“编辑”。
-
添加或更新所需详细信息。
-
单击“保存”。
更改域映射
要编辑现有 DNS 提供程序的域映射,请执行以下步骤:
-
导航到 SSL 仪表板 > 第三方集成 > ACME > DNS 提供商.
-
选择 DNS 提供程序,然后单击“编辑”。
-
导航到“域映射”,并根据需要添加或删除域。
-
单击“保存”。
重要:
如果域未映射,其证书续订将停止。请务必将域重新映射到有效的 DNS 提供程序,以确保续订继续进行。
限制
-
证书续订仅适用于
acme.sh支持的 DNS 提供程序。
排查与自动证书续订相关的问题
本节列出了一些可能出现的常见错误消息及其相关的根本原因:
-
当证书中的域名不符合 ACME 要求时,会报告“证书具有无效域 - ADCD”错误。
-
当请求的域名缺少点(例如“example”而不是“example.com”)时,会报告“请求的标识符无效 :: 无法为“testdomain”颁发:域名需要至少一个点”错误。
-
当 ACME 客户端无法从 CA 获取随机数时(通常是由于网络或服务器问题),会报告“无法从 CA 服务器获取随机数。请检查 CA 服务器配置。”错误。
-
当 ACME 客户端无法初始化与 CA 服务器的通信时(可能是由于配置错误),会报告“无法初始化 CA 服务器的 API。请检查 CA 服务器配置。”错误。
-
当域名格式无效或 ACME 协议不允许时,会报告“提供的域名无效。请检查域名并重试。”错误。
-
当证书请求未更改域列表且证书已存在时,会报告“域未更改。具有相同配置的证书已存在。”错误。
-
当 ACME 客户端无法为域验证添加所需的 DNS TXT 记录时,会报告“添加域验证 TXT 记录时出错。请检查 DNS 配置并重试。”错误。
-
当存在签名不匹配时(通常是由于客户端和服务器之间的时间同步问题),会报告“签名不匹配。请检查服务器时间,因为它可能未同步。”错误。
-
当未为基于 DNS 的域验证指定 DNS 提供程序时,会报告“证书缺少 DNS 提供程序名称。”错误。
-
由于未配置活动 DNS 提供程序,续订已跳过。 在尝试证书续订但未配置活动 DNS 提供程序时报告此消息。
-
验证联系人时出错 :: 无法解析电子邮件地址 在提供的联系人电子邮件地址无效或无法解析时报告此消息。
-
无法处理最终订单请求。(对于无效的 ACME 目录 URL) 当 ACME 客户端无法完成订单时报告此消息,这通常是由于 ACME 目录 URL 无效或无法访问造成的。
-
DNS 提供程序 - TestDNS 不存在或未激活。 在系统中找不到或未激活指定的 DNS 提供程序时报告此消息。
-
配置 CA ID 为空/不存在。 在 CA 配置 ID 缺失或与任何现有配置不匹配时报告此消息。