bg-tutorials

如何在 LiteSpeed 上安装 ACME SSL 证书

本指南涵盖在 LiteSpeed(包括OpenLiteSpeedLiteSpeed Enterprise)上安装 ACME SSL 证书所需的所有内容。

Litespeed ACME SSL

您只需设置 ACME 客户端、将其连接到证书提供商、申请安全证书并配置 LiteSpeed 以使用该证书,所有步骤一目了然。完成后,您的证书将自动更新,无需人工干预。

我们将使用ACME.sh,这是一款轻量级的可靠工具,支持外部账户绑定(EAB)SectigoDigiCert 的商用 ACME SSL 都需要它。


开始前所需物品

确保你已经准备好了这些:

  • 已安装 LiteSpeed Web 服务器(OpenLiteSpeed 或 Enterprise)
  • 具有 root 或 sudo 权限的 SSH 访问权限
  • 您的域名指向该服务器的 A/AAAA DNS 记录
  • 有效的ACME SSL 订阅(来自 Sectigo 或 DigiCert)
  • 您的EAB 证书(KID + HMAC 密钥)
  • 80 端口开放 – ACME 挑战通过普通 HTTP 运行
  • 通过出站互联网访问您的 ACME 提供商端点

要使用的 ACME 端点:

  • Sectigo: https://acme.sectigo.com/v2/DV
  • DigiCert: https://acme.digicert.com/v2/acme

步骤 1:安装 ACME.sh

我们先安装 ACME.sh,它是一个轻量级脚本,用于处理证书请求和更新。

打开终端窗口(SSH),以根用户身份连接到您的 LiteSpeed 服务器。如果您使用的是 VPS 或云服务器,请使用以下方式连接:

ssh root@your-server-ip

进入后,运行以下命令安装 ACME.sh:

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

这将下载脚本、设置环境并确认安装正确。

如果安装失败:

  • 确保服务器上安装了curlgit
  • 如果卡住了,请使用–force重新安装

步骤 2:注册 ACME 账户(使用 EAB)

此步骤使用订阅中的 EAB 凭据将 ACME 客户端与 CA 连接。

acme.sh --register-account \
  --server https://acme.sectigo.com/v2/DV \
  --eab-kid EAB_KID \
  --eab-hmac-key EAB_HMAC_KEY \
  --accountemail [email protected]

用您的真实凭证替换这些值。如果您已经用同一个 EAB 对注册过,没有问题,ACME.sh会重复使用现有账户。

如果失败,请检查:

  • 您的 EAB 证书是否正确?
  • 您的服务器能否连接到 HTTPS(443 端口)?

步骤 3:设置 Webroot 并测试 HTTP 验证

ACME 使用 HTTP-01 挑战来验证域名所有权。这意味着您的服务器需要在以下地址做出响应: http://yourdomain.com/.well-known/acme-challenge/

这意味着 ACME 客户端会在名为.well-known 的文件夹中放入一个测试文件,而你的服务器必须通过纯HTTP(80 端口)提供该文件。

您服务器上的 Webroot 在哪里?

这取决于你正在运行的系统。在OpenLiteSpeed(全新安装)上,默认情况下网络根目录位于/usr/local/lsws/Example/html

LiteSpeed Enterprise(WHM 或手动配置)中,Web 根目录位于域名指向的位置,通常类似于/home/youruser/public_html

创建验证文件夹和测试文件

在文档根目录下(调整路径以符合您的需要),运行

mkdir -p /your/webroot/.well-known/acme-challenge
echo "ok" > /your/webroot/.well-known/acme-challenge/testfile
curl -I http://yourdomain.com/.well-known/acme-challenge/testfile

If you see HTTP/1.1 200 OK, your server is ready to answer ACME challenges.

如果您强制使用 HTTPS 呢?

如果您的网站自动将 HTTP 重定向到 HTTPS,则需要为 ACME 路径设置一个例外,以便在验证过程中保持 HTTP。将此添加到.htaccess文件中:

RewriteEngine On
# Let ACME validation go through
RewriteRule ^\.well-known/acme-challenge/ - [L]
# Redirect everything else to HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

这样,即使您的网站使用 HTTPS,挑战也能正常进行。

额外检查:80 端口是否打开?

如果验证失败,您的服务器可能没有监听 HTTP。请检查您的 LiteSpeed 监听器。

用于 OpenLiteSpeed:

  1. 登录到 LiteSpeed WebAdmin: https://:7080
  2. 导航至Listeners > Default (在新安装时存在)。
  3. 套装
    • 端口 = 80
    • IP = 任意

适用于 LiteSpeed Enterprise:

登录 WHM 或 WebAdmin,确保您的域名正在监听 80 端口。如果其他服务正在使用该端口,请运行

sudo lsof -i :80

停止冲突进程,然后重新启动 LiteSpeed。


第 4 步:颁发 SSL 证书

现在该通过 ACME 客户端申请 SSL 证书了。你将直接在服务器终端(SSH)上运行此命令,也就是你之前安装 ACME.sh 的地方。

acme.sh --issue \
  -d yourdomain.com \
  -w /path/to/your/webroot \
  --server https://acme.yourca.com/v2/endpoint

让我们来分析一下:

  • acme.sh –issue —告诉 ACME.sh 你要签发新证书。
  • -d yourdomain.com的主域名。您可以为子域或 www 版本添加更多 -d 标志,如 -d www.yourdomain.com。
  • -w /path/to/your/webroot– 网站文档根目录的完整路径。
  • –server https://acme.yourca.com/v2/endpoint– 替换为 CA 的 ACME URL:
    • Sectigo: https://acme.sectigo.com/v2/DV
    • DigiCert: https://acme.digicert.com/v2/acme

如果失败时出现以下错误”未授权”、”未委托 “或 “无效响应 “等错误,则通常意味着:

  • 域名的 DNS A/AAAA 记录尚未指向该服务器。
  • 您的 webroot 路径错误。ACME 找不到挑战文件。
  • 端口 80 已被阻止或重定向到 HTTPS。
  • 您的产品使用了错误的 CA 服务器 URL。

步骤 5:安装证书并设置重新加载

现在我们安装证书,并告诉 LiteSpeed 在更新后重新加载。

首先,为证书创建一个目录:

mkdir -p /usr/local/lsws/conf/cert/yourdomain.com

然后安装:

acme.sh --install-cert -d yourdomain.com \
  --key-file /usr/local/lsws/conf/cert/yourdomain.com/yourdomain.com.key \
  --fullchain-file /usr/local/lsws/conf/cert/yourdomain.com/yourdomain.com.crt \
  --reloadcmd "/usr/local/lsws/bin/lswsctrl reload"

修复权限:

chmod 600 /usr/local/lsws/conf/cert/yourdomain.com/yourdomain.com.key
chown -R nobody:nogroup /usr/local/lsws/conf/cert/yourdomain.com

nobody:nogroup替换为实际的 LiteSpeed 用户和用户组(如果不同)。


第 6 步:在 LiteSpeed 中配置 HTTPS

现在证书已安装完毕,让我们将其连接到 LiteSpeed,以便通过 HTTPS 加载网站。

用于 OpenLiteSpeed(WebAdmin 面板)

  1. 登录 WebAdmin 控制台。访问:https://your-server-ip:7080
  2. Create a secure HTTPS listener. In the left menu, go to: Listeners > Add > Then set the following:
    • 名称: HTTPSHTTPS
    • IP 地址:任意
    • 端口:443
    • 安全:是

      Litespeed Listener
  3. 单击保存
  4. 保存后,单击新的 HTTPS 监听器并转到SSL 选项卡。
  5. 输入先前安装的证书和密钥文件的完整路径,然后再次单击保存
    • 私钥文件:/usr/local/lsws/conf/cert/yourdomain.com/yourdomain.com.key
    • 证书文件: /usr/local/lsws/conf/cert/yourdomain.com/yourdomain.com.crt

      Litespeed 私钥
  6. 仍在HTTPS监听器下,转到虚拟主机映射选项卡。
  7. 添加这样一个映射:
    • 虚拟主机:Example (如果更改了虚拟主机名称,请将 Example 替换为实际虚拟主机名称。)
    • 域:*

      Litespeed General
  8. 要应用所有更改,请重新启动 LiteSpeed。您可以从 WebAdmin 执行此操作:操作 > 优雅重启

适用于 LiteSpeed 企业版

如果您使用的是 LiteSpeed Enterprise(例如使用 WHM/cPanel),步骤类似,但布局可能略有不同。

  1. 访问 WebAdmin 或 WHM
  2. 使用 WebAdmin 面板(同上)或通过主机面板配置 SSL。
  3. 分配证书和密钥路径
  4. 在定义域名虚拟主机的任何位置设置:
    • 私钥文件:/usr/local/lsws/conf/cert/yourdomain.com/yourdomain.com.key
    • 证书文件:/usr/local/lsws/conf/cert/yourdomain.com/yourdomain.com.crt
  5. 重新加载 LiteSpeed
  6. 运行服务 lsws reload应用更改

就是这样。一旦 LiteSpeed 重新加载,您的网站将开始使用您安装的 ACME 证书通过 HTTPS 提供流量。


第 7 步:检查 HTTPS 和自动更新

访问您的网站。您应该看到

  • 正确的 CN/SAN
  • 无浏览器警告

现在检查 ACME.sh 是否添加了 cron 作业:

crontab -l

应该是这样的

24 13 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

手动测试更新:

acme.sh --renew -d yourdomain.com --force
tail -n 40 ~/.acme.sh/acme.sh.log

如果重新加载命令正确无误,LiteSpeed 会自动获取新证书。


有问题?检查内容如下

如果在签发或续期过程中出现问题,这些快速检查应该可以解决:

挑战文件上的 “404 未找到

  • 检查您使用的-w 路径。它是否指向正确的文档根目录?
  • 确保根目录中存在.well-known/acme-challenge/文件夹
  • 尝试通过 HTTP(curl 或浏览器)手动访问测试文件

“未经授权 “或 “未授权 “错误

  • 您的 DNS 可能尚未指向服务器。检查您的 A/AAAA 记录
  • 再次检查 CA 服务器URL
  • 您是否使用了 SSL 提供商提供的正确 EAB 凭据?

证书更新后,LiteSpeed 没有重新加载

如果您的证书更新了,但网站仍显示旧证书,这通常意味着 LiteSpeed 没有自动重新加载。请检查您使用的 LiteSpeed 版本。

如果使用的是OpenLiteSpeed,请使用以下命令手动重新加载服务器:

/usr/local/lsws/bin/lswsctrl reload

如果您使用的是LiteSpeed Enterprise,请使用:

service lsws reload

更新 ACME.sh reload 命令,使其在每次更新后运行正确的行。

--reloadcmd "/usr/local/lsws/bin/lswsctrl reload"

这将确保 LiteSpeed 在下次更新证书时自动刷新证书。


你完了

您现在已经成功地在 LiteSpeed 上安装了 ACME SSL 证书,并将其设置为自动更新,无需任何手动操作。您的服务器使用基于 EAB 的安全证书,一切都已连接到 LiteSpeed,每次更新后都会悄无声息地重新加载。

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

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

龙飞行的详细图像
撰写人

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