前两篇我们已经完成了 OpenLiteSpeed 的安装和标准端口的设置,现在正式步入 HTTPS 的世界。
这篇文章,我们就来一步步讲讲怎么用 acme.sh 给网站申请免费的 Let’s Encrypt SSL 证书,并设置好自动续期。
本文以两个域名为例:innnets.com 和 www.innnets.com
适用于大多数网站的实际场景。
一、安装 acme.sh(只需一条命令)
直接在终端输入下面的命令即可安装:
curl https://get.acme.sh | sh
安装完之后,执行:
source ~/.bashrc
或者重启一下终端。
然后检查版本号确认装好了:
acme.sh --version
二、申请证书(Webroot 模式)
我们用 Webroot 模式,也就是在网站目录下生成一个验证文件,Let’s Encrypt 来访问确认你是网站所有者。
假设你的网站根目录是:
/usr/local/lsws/Example/html
申请命令如下:
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:
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 生效。
四、手动测试续期(验证流程正常)
执行这条命令模拟一次续期:
acme.sh --renew -d innnets.com --force
如果看到“Renew success”和“Reload success”之类的提示,就说明流程已经跑通。
acme.sh 默认每天检查一次证书状态,到期前 30 天就会自动续期,不需要你操心。
五、当前使用的是 Let’s Encrypt?
本教程默认使用的就是 Let’s Encrypt 免费证书,不需要你手动指定。
你也可以执行这条命令确认:
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,小锁头上线。
如果你在申请过程中遇到问题,比如防火墙、端口没开、验证失败等,欢迎在评论里留言或者发我邮箱,我看到会回复。