博客 / Others/ OpenLiteSpeed 服务器配置 Let's Encrypt SSL 证书与自动续期指南

OpenLiteSpeed 服务器配置 Let's Encrypt SSL 证书与自动续期指南

OpenLiteSpeed 服务器配置 Let's Encrypt SSL 证书与自动续期指南

前言

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 的运行用户(通常是 nobodylsadm)有权限读取 /etc/letsencrypt/live//etc/letsencrypt/archive/ 目录下的证书文件。
  • 路径错误:在管理面板中配置证书路径时,务必使用绝对路径,并确认文件存在。
  • 防火墙:确保服务器的 443 端口已在防火墙中开放。
  • 命令更新:较新版本的 Certbot 可能使用 certbot 而非 certbot-auto,请以系统安装的实际命令为准。

发表评论

您的邮箱不会公开。必填项已用 * 标注。