bg-tutorials

如何在 pfSense 上安装 ACME SSL 证书

在本指南中,你将学习如何在 pfSense 上安装 ACME SSL 证书。防火墙现在通过其内置软件包原生支持 ACME 协议,让你可以自动签发和更新 SSL 证书。

pfsense ACME SSL

该流程与支持ACME + 外部账户绑定(EAB)的商业证书颁发机构(CA)配合使用。


开始之前

您需要

  • 可接入互联网的 pfSense 2.7 或 Plus 23.x 防火墙。
  • SSH 或 WebGUI 管理访问。
  • CA 的ACME 目录 URL、EAB 密钥 ID 和HMAC 密钥。
  • 解析到您的 pfSense 广域网 IP 的公共域(如vpn.example.com )。

步骤 1:安装 ACME 软件包

  1. 转到系统 > 软件包管理器 > 可用软件包。
  2. 搜索acme。
  3. 单击安装,然后确认。
  4. 安装后,您会在服务 > ACME 证书找到一个新菜单。

步骤 2:创建 ACME 账户密钥

  1. 在 pfSense 菜单中,转到服务 > ACME 证书 > 帐户密钥。
  2. 单击+ 添加创建新账户。
  3. 请准确填写以下字段:
    • 名称 – 给账户一个简单的标识符(例如 Sectigo-EAB)。
    • ACME 服务器 URL– 粘贴 CA 的目录端点,例如https://acme.sectigo.com/v2/DV
    • 电子邮件地址– 输入 CA 使用的管理联系人。
    • EAB 密钥 ID 和 EAB HMAC 密钥– 插入 CA 提供的这两个值。(只有当 CA 要求外部账户绑定时,这些字段才会出现在图形用户界面中)。
  4. 单击 “创建新账户密钥”,然后单击 “注册 ACME 账户密钥”。

如果 EAB 字段在您的 pfSense 版本中不可见,您仍可正常注册,然后使用外部 ACME 客户端(如 acme.sh)手动签发和导入证书。从功能上讲,这两种方法都能与支持 ACME + EAB 的商业 CA 配合使用。


步骤 3:添加新的证书条目

  1. 转到服务 > ACME 证书 > 证书。
  2. 单击+ Add并为条目命名(如 vpn-example)。
  3. 在账户密钥下,选择之前创建的账户。
  4. 在域名 SAN 列表中,添加您的域名(如vpn.example.com)。
  5. 挑战类型请选择HTTP-01(推荐)。
  6. 在 “方法“中,根据设置选择 webroot 本地文件夹或独立运行。
  7. 单击保存 并应用。

步骤 4:设置 HTTP 验证

CA 必须通过80 端口连接到您的 pfSense 设备,以确认域名所有权。

如果您已将 80 端口用于其他服务,请将其临时重定向或转发到 pfSense 的内部 webroot。

确保任何 HTTPS 重定向都允许路径
http://vpn.example.com/.well-known/acme-challenge/ 保持纯 HTTP。

对于 NAT 或反向代理后的边缘情况,可使用端口转发或虚拟服务器规则来确保外部访问该验证路径。


步骤 5:颁发证书

返回服务 > ACME 证书,单击证书的签发/更新按钮。

您将看到显示每个步骤的实时日志:

  • 账户验证
  • 域名验证
  • 证书发放

完成后,新证书将出现在系统 → 证书下。


步骤 6:申请证书

将新的 SSL 证书用于 pfSense 上的任何服务:

  • WebGUI:系统> 高级> 管理访问> SSL 证书
  • OpenVPN / IPsec / HAProxy:从各自的下拉菜单中选择相同的证书
  • 单击保存并应用更改

ACME 软件包会自动处理证书续期。默认情况下,pfSense 会在证书到期前 30 天进行更新。

要检查或手动触发,请访问服务 > ACME 证书 > Issue/Renew


备用方法:从外部生成证书并将其导入 pfSense

如果您的商业 CA 的 ACME 流程无法直接在 pfSense 中注册,您仍然可以在另一台 Linux 或 BSD 服务器上签发证书,然后手动导入。这种方法适用于任何支持ACME + 外部账户绑定(EAB)的 CA,是复杂或不支持环境下最可靠的备用方法。

步骤 1:设置 ACME.sh

在任何能上网的 Linux 或 BSD 机器上,安装 ACME 客户端:


curl https://get.acme.sh | sh
source ~/.bashrc

这将在你的主目录中安装acme.sh ,并为与商用 ACME 终端一起使用做好准备。

步骤 2:在 CA 注册 ACME 帐户

使用 CA ACME 门户的凭证、目录 URL、密钥 ID 和 HMAC 密钥。

acme.sh --register-account \
  --server https://acme.yourca.com/v2/acme \
  --eab-kid YOUR_EAB_KID \
  --eab-hmac-key YOUR_EAB_HMAC_KEY \
  --accountemail [email protected]

此步骤通过 CA 的 ACME 服务验证您的系统。每个账户只需执行一次。

步骤 3:申请证书

为您的 pfSense 域签发证书(例如vpn.example.com )。

acme.sh --issue \
  -d vpn.example.com \
  --server https://acme.yourca.com/v2/acme \
  --eab-kid YOUR_EAB_KID \
  --eab-hmac-key YOUR_EAB_HMAC_KEY \
  --standalone

如果您的 CA 或网络设置需要 DNS 验证,请将最后一行替换为--dns dns_cf (使用与您的提供商匹配的 DNS 插件)。

完成后,证书将保存在以下文件夹中: ~/.acme.sh/vpn.example.com/

步骤 4:查找文件

在该文件夹中,您将看到

  • fullchain.cer– 证书和中间链
  • vpn.example.com.key– 私有密钥
  • ca.cer– CA 根证书/中间证书

这些是您要上传到 pfSense 的文件。

第 5 步:将证书导入 pfSense

登录 pfSense 并转到系统> 证书。

  1. 单击添加/导入。
  2. 粘贴证书 (fullchain.cer) 和私人密钥 (vpn.example.com.key) 的内容。
  3. 可选择添加 CA 链 (ca.cer)。
  4. 单击保存。

现在,pfSense 将识别并存储此有效商业证书。

第 6 步:应用和自动化

现在您可以使用导入的证书:

  • 系统> 高级> 管理访问(WebGUI)
  • OpenVPN 或 IPsec 服务器
  • HAProxy 或 Nginx软件包

对于续订,可通过在外部主机上调度 cron 作业来自动续订acme.sh ,然后使用 SCP 或 pfSense API 将文件重新上传到 pfSense。


常见问题

如果您是第一次使用商用 CA 设置 ACME,请查看最常见问题的答案:

可以与任何 CA 一起使用吗?

您可以将其与提供ACME 目录 URL和EAB 凭据的 CA(如Sectigo 或 DigiCert)一起使用。

验证需要哪个端口?

仅80 端口(HTTP)。在验证完成之前,不要将其重定向到 HTTPS。

为什么我的验证之前正常,而现在却突然失效了?

如果 ACME 设置一直正常工作,但突然出现故障,通常是由于网络或 DNS 发生变化造成的。检查你的广域网 IP 或 NAT 规则是否发生了变化,或者新的防火墙策略是否阻止了 HTTP(80 端口)入站。还要确保你的域名仍然解析到相同的公共 IP。ACME 验证取决于外部可达性。即使是一个重定向或端口被封也会导致验证失败。

我可以跨设备共享 EAB 凭据吗?

这取决于您的 CA,有些 CA 要求每个域或设备有唯一的凭据。


最后的话

通过这种设置,你可以在pfSense上安装支持EAB的商业CA颁发的ACME SSL证书,并在证书的生命周期内保持完全自动化。这是一种稳定的企业级方法,可让你的 VPN、WebGUI 和反向代理持续得到信任,而无需手动更新、断链或停机中断关键服务。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

龙飞行的详细图像
撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.