生成 Let's Encrypt SSL 证书
Let's Encrypt 证书是一种免费的 SSL 证书,有效期为 90 天。
在使用 Bitrix 7 操作系统时,有两种方法可以生成 Let's Encrypt 证书:使用系统内置工具(自 Bitrix 7.2.0 版本起)和手动生成。
通过 Bitrix 菜单获取并安装 Let's Encrypt
- 进入菜单:8. Manage servers in the pool -> 3. Configure certificates -> 1. Configure Let's Encrypt certificate.
- 提供以下信息:
• 您要为其申请 SSL 的站点(您可以指定多个站点,用逗号分隔:site.ru, site2.ru, site3.com);
• 这些站点的域名(同样用逗号分隔);
• 用于接收 Let's Encrypt 通知的联系电子邮箱。 - 输入 "Y" 确认操作。
证书将自动生成并安装。
Bitrix 官方表示,通过此方式创建的证书将在到期前自动更新。如果由于某些原因自动更新未能生效(曾有用户反馈过此类问题),您可以按照上述同样的步骤重新申请证书。
您也可以参考以下说明进行手动创建和安装 Let's Encrypt,并通过 Crontab 任务设置自动续期,以确保证书能够自动更新。
手动获取证书
1. 安装 certbot:
yum install certbot
2. 执行以下命令获取证书,并替换为您自己的数据:
certbot certonly --webroot --agree-tos --email admin@email.ru -w /您的/站点/文件/目录/路径/ -d 域名.ru -d www.域名.ru
- admin@email.ru —— 域名管理员的电子邮箱;
- /您的/站点/文件/目录/路径/ —— 您站点文件所在目录的完整路径;
- 域名.ru 和 www.域名.ru —— 要生成证书的域名(您可以通过在每个域名前添加 -d 参数来指定多个域名)。
成功完成后,系统将显示包含证书路径 (fullchain.pem) 和未加密私钥路径 (privkey.pem) 的消息:
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/domain.ru/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/domain.ru/privkey.pem
Your cert will expire on 2017-12-16. To obtain a new or tweaked
version of this certificate in the future, simply run certbot-auto
again. To non-interactively renew *all* of your certificates, run
"certbot-auto renew"
现在需要安装获取到的证书。
自动续期证书
要在 BitrixOS 上自动续期 Let's Encrypt 证书,您需要在 crontab 中添加相应的任务。
1. 打开 crontab:
crontab -e
2. 添加任务:
PATH=/usr/bin:/usr/sbin:/bin
30 6 * * * certbot renew --post-hook "systemctl reload nginx"
根据此任务,系统将在每天 6:30 检查是否需要更新证书。