【OpenLiteSpeed 实用教程·第三篇】用 acme.sh 申请免费 SSL 证书(自动续期支持 innnets.com 和 www)

前两篇我们已经完成了 OpenLiteSpeed 的安装和标准端口的设置,现在正式步入 HTTPS 的世界。

这篇文章,我们就来一步步讲讲怎么用 acme.sh 给网站申请免费的 Let’s Encrypt SSL 证书,并设置好自动续期。

本文以两个域名为例:innnets.com 和 www.innnets.com

适用于大多数网站的实际场景。

一、安装 acme.sh(只需一条命令)

直接在终端输入下面的命令即可安装:

Bash
curl https://get.acme.sh | sh

安装完之后,执行:

Bash
source ~/.bashrc

或者重启一下终端。

然后检查版本号确认装好了:

Bash
acme.sh --version

二、申请证书(Webroot 模式)

我们用 Webroot 模式,也就是在网站目录下生成一个验证文件,Let’s Encrypt 来访问确认你是网站所有者。

假设你的网站根目录是:

纯文字
/usr/local/lsws/Example/html

申请命令如下:

Bash
acme.sh --issue -d innnets.com -d www.innnets.com -w /usr/local/lsws/Example/html

说明:

  • -d 后面是你绑定的域名;
  • -w 指定网站根目录。

如果执行后没有报错,证书就申请成功了。证书文件默认会保存在:

纯文字
~/.acme.sh/innnets.com_ecc/

三、安装证书到固定目录(方便 OLS 设置)

虽然 acme.sh 自带的路径也能用,但我更推荐自己设一个路径来管理,比如:

纯文字
/root/.acme.sh/innnets.com_ssl/

然后执行安装命令,把证书复制过去,并配置自动重启 OLS:

Bash
acme.sh --install-cert -d innnets.com \
--key-file       /root/.acme.sh/innnets.com_ssl/private.key \
--fullchain-file /root/.acme.sh/innnets.com_ssl/fullchain.cer \
--reloadcmd     "systemctl restart lsws"

这样以后 acme.sh 自动续期时,就会自动把证书更新到这个目录,并自动重启 OLS 生效。

四、手动测试续期(验证流程正常)

执行这条命令模拟一次续期:

Bash
acme.sh --renew -d innnets.com --force

如果看到“Renew success”和“Reload success”之类的提示,就说明流程已经跑通。

acme.sh 默认每天检查一次证书状态,到期前 30 天就会自动续期,不需要你操心。

五、当前使用的是 Let’s Encrypt?

本教程默认使用的就是 Let’s Encrypt 免费证书,不需要你手动指定。

你也可以执行这条命令确认:

Bash
acme.sh --showca

如果输出是:

纯文字
Default CA: https://acme-v02.api.letsencrypt.org/directory

就说明一切正常。

六、总结 & 下一步预告

到目前为止,我们已经完成了:

✅ 用 acme.sh 给 innnets.com 和 www 申请 SSL 证书

✅ 设置自动续期 + 自动重启 OLS

✅ 使用 Webroot 模式验证,轻便好用

✅ 免费、被浏览器信任的 Let’s Encrypt 证书

下一篇我们就来配置 OpenLiteSpeed,让这份证书真正“挂上去”,网站正式启用 HTTPS,小锁头上线。

如果你在申请过程中遇到问题,比如防火墙、端口没开、验证失败等,欢迎在评论里留言或者发我邮箱,我看到会回复。