帮助

在 FastPanel 中使用 Auto SSL

FastPanel 只能从 Let's Encrypt 签发免费证书;界面中无法指定自定义 ACME 服务器和 EAB 密钥。对于 Auto SSL,我们在同一服务器上使用 acme.sh:它获取 Sectigo 证书,然后您以标准方式将其作为现有证书添加到面板。面板的一般说明见如何在 FastPanel 中安装 SSL 证书

在哪里获取密钥

  1. 在个人中心 1host.kz/bill 打开"Auto SSL (Sectigo ACME)"服务(可在 Auto SSL 页面下单)。
  2. 点击"Configure Now"(配置)。域名填入"Single Domains"(www 与不带 www 视为同一域名),通配符填入"Wildcard Domains"。
  3. 5–30 秒后卡片中显示 ACME account IDEAB MAC IDEAB MAC keyServer URL

命令中:Server URL 为 https://acme.sectigo.com/v2/DVYOUR_EAB_KID 为 EAB MAC ID,YOUR_EAB_HMAC_KEY 为 EAB MAC key。

需要准备

  • 通过 SSH 以 root 身份访问 FastPanel 服务器。
  • 网站已在面板中创建,域名指向服务器,80 端口开放。
  • 网站根目录——请在面板的网站卡片中查看(通常为 /var/www/用户/data/www/example.kz)。

通过 acme.sh 签发证书

curl https://get.acme.sh | sh -s [email protected]
source ~/.bashrc
acme.sh --register-account --server https://acme.sectigo.com/v2/DV \
  --eab-kid YOUR_EAB_KID --eab-hmac-key YOUR_EAB_HMAC_KEY
acme.sh --set-default-ca --server https://acme.sectigo.com/v2/DV
acme.sh --issue -d example.kz -d www.example.kz \
  -w /var/www/fastuser/data/www/example.kz

fastuser 替换为网站所有者。账户注册只需一次,密钥会被记住。结果位于 ~/.acme.sh/example.kz_ecc/example.kz.cer(证书)、example.kz.key(私钥)、ca.cer(证书链)。其他方式(--nginx--standalone)见通过 acme.sh 使用 Auto SSL

在面板中安装证书

  1. 打开网站卡片 →"SSL 证书"→"新证书"。
  2. 在左侧选择"现有"。
  3. "私钥"——example.kz.key 的内容。
  4. "证书"——example.kz.cer 的内容。
  5. "证书链"——ca.cer 的内容。
  6. 点击"保存"——面板会将证书应用到网站。
  7. 启用重定向:网站卡片 →"选项"→"HTTPS"→"重定向到 HTTPS"。

显示文件内容以便复制:cat ~/.acme.sh/example.kz_ecc/example.kz.cer

续期后更新

acme.sh 通过 cron 在到期前约 30 天续期证书,但 FastPanel 保存着自己的副本,不会察觉续期。可选方案:

  • 手动——每两个月重复上一节的步骤(面板在证书列表中显示有效期,请设置提醒)。
  • 自动——通过 acme.sh --install-cert … --reloadcmd "systemctl reload nginx" 替换面板写入网站 nginx 配置的文件。文件路径请在网站配置中查看:grep -r ssl_certificate /etc/nginx/fastpanel2-sites/。注意,面板在更改网站设置时可能会覆盖这些文件。

待确认:FastPanel 存放已上传证书的目录,以及替换后的文件在面板中重新保存网站后是否会保留——启用自动替换前请在当前版本上验证。

如果不想自行研究,请在个人中心向 ONEHOST 技术支持提交工单,我们为您配置自动更新。

检查与续期

通过 HTTPS 打开网站并在浏览器中查看证书——颁发者为 Sectigo。在控制台:

echo | openssl s_client -connect example.kz:443 -servername example.kz 2>/dev/null \
  | openssl x509 -noout -issuer -dates
acme.sh --list
crontab -l | grep acme.sh

cron 行表示已启用续期。强制续期以测试:acme.sh --renew -d example.kz --force。续期后请在面板中更新证书(或确认自动替换已生效——openssl 输出中的 notAfter 日期应有变化)。Auto SSL 订阅每年通过账单续费一次,账单提前 14 天送达。

如有任何疑问,请联系我们