前言
OpenLiteSpeed 目前没有官方的 Let's Encrypt 自动化模块,因此需要手动配置 SSL 证书。本指南将详细介绍从安装 Certbot、生成证书、在 OpenLiteSpeed 管理面板中配置,到设置自动续期的完整流程。
安装 Certbot 客户端
首先,根据你的操作系统,使用以下命令安装 Certbot。
CentOS 7/8 或 RHEL 7/8
yum install certbot
Ubuntu 16.04+ 或 Debian 9/10+
apt-get install certbot
Debian 8 (Jessie)
apt-get install certbot -t jessie-backports
生成 Let's Encrypt SSL 证书
使用 Certbot 的 Webroot 插件生成证书。请将 /usr/local/lsws/your_web_root/html/ 替换为你网站的实际根目录,并将 www.xxx.com 替换为你的域名。
certbot certonly --webroot -w /usr/local/lsws/your_web_root/html/ -d www.xxx.com
证书生成后,会保存在以下目录中:
/etc/letsencrypt/live/<yourdomain>/
该目录下包含 fullchain.pem(证书链)和 privkey.pem(私钥)等关键文件。
在 OpenLiteSpeed 管理面板中配置 SSL
请通过 http://your-server-ip:7080 登录 OpenLiteSpeed 管理后台。
步骤一:配置 443 端口监听器
1. 进入「监听器」页面。
2. 点击「添加」按钮,创建一个新的监听器。
3. 设置监听器地址为 *:443(或你的特定 IP)。
4. 安全选项选择「是」,以启用 SSL。
步骤二:为监听器分配域名
1. 编辑你刚创建的 443 监听器。
2. 在「虚拟主机映射」部分,为你需要使用 SSL 的域名选择对应的虚拟主机。
步骤三:设置 SSL 证书文件路径
1. 在监听器配置页面的「SSL」标签页下。
2. 将「私钥文件」路径设置为:/etc/letsencrypt/live/<yourdomain>/privkey.pem
3. 将「证书文件」路径设置为:/etc/letsencrypt/live/<yourdomain>/fullchain.pem
(请将 <yourdomain> 替换为你的实际域名目录名)
步骤四:配置 SSL 参数(可选但推荐)
建议启用以下设置以增强安全性:
- SSL 协议:至少选择 TLSv1.2。
- 启用 SSL 会话缓存。
- 选择强加密套件。
步骤五:重启 OpenLiteSpeed 服务
所有配置完成后,返回管理面板首页,点击右上角的「重启」按钮,使 SSL 配置生效。
设置证书自动续期
Let's Encrypt 证书有效期为 90 天,必须定期续期。
测试续期命令
首先,执行以下命令进行模拟续期测试,确保流程正常:
certbot renew --dry-run
如果命令执行成功,没有报错,则可以设置自动任务。
配置 Crontab 自动任务
使用 crontab -e 命令编辑当前用户的定时任务。添加以下行,例如设置为每天凌晨 2:30 检查并续期证书(如果证书到期时间小于 30 天,则会自动续期):
30 2 * * * /usr/bin/certbot renew --quiet --post-hook "systemctl restart lsws"
说明:
- --quiet 参数确保仅在需要续期时输出信息。
- --post-hook 参数指定续期成功后执行的命令,这里示例是重启 OpenLiteSpeed 服务以加载新证书。请根据你的实际服务管理命令进行调整(例如可能是 systemctl restart openlitespeed)。
故障排查与注意事项
- 权限问题:确保 OpenLiteSpeed 的运行用户(通常是
nobody或lsadm)有权限读取/etc/letsencrypt/live/和/etc/letsencrypt/archive/目录下的证书文件。 - 路径错误:在管理面板中配置证书路径时,务必使用绝对路径,并确认文件存在。
- 防火墙:确保服务器的 443 端口已在防火墙中开放。
- 命令更新:较新版本的 Certbot 可能使用
certbot而非certbot-auto,请以系统安装的实际命令为准。