使用ACME方式在ServBay中为网站申请SSL证书
ServBay 支持使用 ACME 协议自动为您的本地开发网站申请 SSL/TLS 证书。ACME (Automated Certificate Management Environment) 协议是一种自动化证书生命周期管理(包括申请、续期和吊销)的标准协议。通过 ServBay 提供的 ACME 管理面板,您可以方便快捷地为本地网站配置受信任的 SSL 证书,这对于模拟生产环境、测试 HTTPS 相关功能至关重要。
ServBay 默认优先使用 ZeroSSL 签发证书,但您也可以灵活选择使用 Let's Encrypt 或 Google Trust Services 等其他 ACME 兼容的证书颁发机构 (CA)。
TIP
为确保本地开发环境与生产环境尽可能一致,使用受信任的 SSL 证书非常重要。ServBay 的 ACME 功能让这一过程变得异常简单。
核心概念解释
在开始之前,了解一些核心概念有助于更好地使用 ServBay 的 ACME 功能:
- ACME 协议: 一种开放标准协议,用于自动化证书颁发机构 (CA) 与服务器之间的交互,实现证书的自动申请、续期和管理。
- DNS-01 验证 (DNS API 方式): ACME 协议支持多种域名所有权验证方式。ServBay 主要采用 DNS-01 方式,这意味着 CA 会要求您在域名的 DNS 记录中添加一个特定的 TXT 记录。通过验证该记录是否存在且内容正确,CA 即可确认您对域名拥有控制权。这种方式的优点在于:
- 无需您的本地开发环境能够通过公网访问。
- 即使本地端口 80/443 被防火墙或 ISP 阻止,也能完成验证。
- 外部账户绑定 (EAB - External Account Binding): 对于某些 CA(如 Google Trust Services 或 ZeroSSL),在首次使用 ACME 协议申请证书时,需要通过 EAB 将您的 ACME 客户端(这里是 ServBay 集成的 acme.sh)与您在该 CA 注册的账户进行绑定。这通常涉及一对 Key ID 和 HMAC Key。
- ECC vs RSA 证书:
- RSA: 传统的加密算法,兼容性极佳,但密钥长度较长(如 2048 位或 4096 位)以保证安全性,计算开销相对较大。
- ECC (Elliptic Curve Cryptography): 一种更现代的加密算法,在提供相同安全等级的情况下,所需的密钥长度短得多(如 256 位或 384 位)。ECC 证书具有更高的性能、更短的握手时间、更低的带宽消耗和更好的前向保密性。ServBay 默认推荐使用 ECC 证书。
前提条件
ServBay 通过 DNS API 方式进行 ACME 证书申请,这种方式无需您的本地网站能够被互联网访问。在使用 ACME 方式申请 SSL 证书之前,请确保满足以下条件:
- 拥有域名: 您需要拥有一个已经注册并可以控制 DNS 记录的域名。
- 获取域名 DNS 提供商的 API Key: ACME 申请过程中,需要通过 DNS API 自动添加和删除用于验证的 TXT 记录。因此,您需要获取您的 DNS 服务提供商(托管您域名解析的平台,不一定是域名注册商)的 API Key 或相关凭证。要查看 ServBay 所支持的 DNS 服务提供商以及如何获取其 API KEY,请访问
acme.sh官方 Wiki 的 DNS API 部分(英文):How to use DNS API。请根据您使用的 DNS 提供商查找相应的教程。 - 获得 EAB 信息(如果使用 Google Trust Services 或 ZeroSSL 首次申请): 如果您选择使用 Google Trust Services 作为证书签发方,您需要从 Google Cloud 获取 EAB 信息。请参考 Google Cloud 官方文档(英文):Obtaining EAB credentials from Google Cloud。对于 ZeroSSL,通常首次申请时也可能需要邮箱验证或 API Key。
在ServBay中使用ACME方式申请SSL证书
按照以下步骤在 ServBay 中通过 ACME 方式为您本地的开发网站申请 SSL 证书:
打开 ServBay 管理面板 启动 ServBay 应用,并通过系统菜单栏图标或 Dock 图标进入 ServBay 的管理面板。
导航至 SSL 证书管理 在 ServBay 管理面板的左侧导航栏中,找到并点击
SSL 证书选项。开始申请新证书 在 SSL 证书管理界面的右上角,点击
+符号按钮,选择申请新证书。配置证书基本信息
- 证书名字: 为您的证书输入一个标识性名称,方便识别(例如:
servbay-demo-ssl)。 - 用途: 选择
TLS/SSL。 - 请求方式: 选择
ACME。
- 证书名字: 为您的证书输入一个标识性名称,方便识别(例如:
选择证书签发方 (CA) 在
签发方下拉菜单中,选择您希望使用的证书颁发机构。默认是ZeroSSL。您可以根据需要选择Let's Encrypt或Google Trust Services。此处我们以ZeroSSL为例进行演示。选择 DNS API 提供商 在
DNS API 提供商下拉菜单中,选择您域名所使用的 DNS 服务提供商。此处以Cloudflare为例。请注意,这里选择的是实际托管您域名解析的平台,而不是您购买域名的注册商(如果两者不同)。选择证书签发算法和密钥长度
- 算法: 默认并建议选择
ECC算法,因为它提供了更好的性能和安全性。如果需要考虑旧设备的兼容性,也可以选择RSA。 - 密钥长度: 如果选择 ECC,默认密钥长度通常是
384位,这通常足够安全。如果选择 RSA,常见的密钥长度是2048或4096位。
- 算法: 默认并建议选择
设置验证信息 根据您选择的
签发方和DNS API 提供商,下方会出现相应的输入框,用于填写必要的验证信息。- 对于 ZeroSSL,您可能需要输入您的邮箱地址。
- 对于 Cloudflare DNS API,您需要输入您的 API Key 或其他认证信息。请根据
acme.shWiki 中对应提供商的要求填写。
WARNING
注意:请只粘贴 API Key 或秘密密钥的值,不要在输入框中包含
export等 shell 命令前缀。设置域名 在
域名字段中,输入您要申请证书的域名(例如:servbay.demo或*.servbay.demo)。如果您需要为泛域名申请证书(如*.servbay.demo),请确保您的 DNS 提供商支持泛域名 TXT 记录的自动化添加。开始申请 确认所有信息填写无误后,点击
请求按钮。ServBay 将调用集成的acme.sh工具,根据您提供的 DNS API 信息自动进行域名验证并向 CA 申请证书。

申请过程可能需要一些时间,具体取决于 DNS 记录的传播速度和 CA 的响应。您可以在 ServBay 的日志或证书列表中查看申请进度。成功后,新申请的证书将出现在 SSL 证书 列表中。
在ServBay网站配置中使用证书
当成功申请到 ACME 证书后,您可以将其应用到 ServBay 中配置的网站上:
- 导航至 ServBay 管理面板左侧的
网站选项。 - 选择您要配置 SSL 的网站,点击右侧的编辑按钮(铅笔图标)。
- 在网站配置详情页中,找到
SSL 证书选项。 - 从下拉菜单中选择您刚刚申请成功的 ACME 证书名称。
- 确保
启用 SSL开关已打开。 - 保存网站配置。您的网站现在应该可以通过 HTTPS 访问了。

ACME证书的续期
ACME 颁发的证书(如来自 Let's Encrypt 或 ZeroSSL 的证书)通常有效期为 90 天。为了确保您的网站能够持续使用有效的 HTTPS 连接,证书需要在过期前进行续期。
ServBay 会自动监控通过 ACME 方式申请的证书的有效期。当证书即将到期时,ServBay 会尝试利用之前配置的 DNS API 信息自动向 CA 发起续期请求。
在正常情况下,只要您的 DNS API 凭证保持有效且域名解析服务稳定,您无需手动干预证书的续期过程。ServBay 会在后台为您处理。
常见问题 (FAQ) 与故障排除
- 申请失败,错误信息提示 DNS 验证失败?
- 请仔细检查您填写的 DNS API 凭证是否正确、是否具有修改 TXT 记录的权限。
- 检查您在 ServBay 中选择的
DNS API 提供商是否与您实际使用的 DNS 服务商一致。 - DNS 记录添加后需要时间在全球传播,有时需要等待几分钟甚至更长时间。您可以尝试稍后重试申请。
- 确认您输入的域名拼写无误。
- 申请失败,错误信息与 EAB 相关?
- 如果您使用的是 Google Trust Services 或 ZeroSSL 且是首次申请,请确认您已正确获取并填写了 EAB 信息。
- 如果您之前成功申请过,但现在失败,可能是 EAB 信息过期或无效,需要重新获取。
- 申请失败,提示达到速率限制 (Rate Limit)?
- 证书颁发机构对每个域名或每个 IP 地址在一定时间内可以申请的证书数量有限制(速率限制)。如果您在短时间内重复申请或尝试申请大量证书,可能会触发限制。请等待一段时间(通常是几小时到几天)再尝试。
- 证书申请成功,但在浏览器中访问网站仍然显示不安全?
- 确保您在 ServBay 的网站配置中已经将新申请的证书应用到对应的网站,并且启用了 SSL。
- 尝试清空浏览器缓存或使用隐身模式访问。
- 检查您的本地 Hosts 文件或其他网络配置是否正确指向 ServBay。
- ServBay 会在什么时候尝试自动续期? ServBay 通常会在证书到期前的特定天数(例如 30 天)内开始尝试自动续期。只要 ServBay 应用在运行,并且网络连接正常,自动续期过程就会在后台静默进行。
总结
ServBay 提供了强大且易用的 ACME 功能,让开发者能够通过 DNS API 方式方便地为本地开发网站申请和管理受信任的 SSL/TLS 证书。这不仅简化了证书配置过程,更重要的是,它帮助开发者构建一个更接近生产环境、支持 HTTPS 的本地开发环境,从而更有效地进行开发和测试。
希望本文能帮助您顺利在 ServBay 中使用 ACME 方式配置 SSL 证书,提升您的本地开发体验。
