Ansible Role - Certbot (for Let's Encrypt) 使用教程
1. 项目介绍
Ansible Role - Certbot (for Let's Encrypt)
是一个用于自动化安装和配置 Certbot 的 Ansible 角色。Certbot 是一个用于获取和更新 Let's Encrypt SSL/TLS 证书的工具。通过使用这个 Ansible 角色,您可以轻松地在服务器上部署和管理 Let's Encrypt 证书,确保您的网站始终使用最新的 SSL/TLS 证书。
2. 项目快速启动
2.1 安装 Ansible
首先,确保您的系统上已经安装了 Ansible。您可以通过以下命令安装 Ansible:
sudo apt update
sudo apt install ansible
2.2 下载并使用 Ansible Role
接下来,您需要下载并使用 geerlingguy.certbot
角色。您可以通过以下步骤快速启动:
-
创建一个新的 Ansible Playbook 文件,例如
playbook.yml
。 -
在
playbook.yml
中添加以下内容:
---
- hosts: all
become: yes
roles:
- role: geerlingguy.certbot
vars:
certbot_auto_renew_user: "your_username_here"
certbot_auto_renew_hour: "3"
certbot_auto_renew_minute: "30"
- 运行 Playbook:
ansible-playbook -i your_inventory_file playbook.yml
2.3 配置自动续期
该角色默认会配置一个 cron 任务,每天在指定的时间自动续期证书。您可以通过修改 certbot_auto_renew_hour
和 certbot_auto_renew_minute
变量来调整续期时间。
3. 应用案例和最佳实践
3.1 自动生成和更新证书
在生产环境中,您可以使用此角色自动生成和更新 Let's Encrypt 证书。通过配置 certbot_create_if_missing
变量为 true
,角色会在证书缺失时自动生成新证书。
certbot_create_if_missing: true
3.2 使用 Webroot 方法生成证书
如果您使用的是 Webroot 方法生成证书,可以通过以下配置指定 Webroot 路径:
certbot_create_method: webroot
certbot_certs:
- email: your_email@example.com
webroot: "/var/www/html"
domains:
- example.com
- www.example.com
3.3 使用 Snap 安装 Certbot
从 2020 年 12 月开始,Certbot 维护者推荐使用 Snap 安装 Certbot。您可以通过设置 certbot_install_method
为 snap
来启用此功能:
certbot_install_method: snap
4. 典型生态项目
4.1 Nginx 和 Certbot
在配置 Nginx 服务器时,您可以使用此角色自动生成和更新 SSL/TLS 证书。确保 Nginx 配置文件中正确引用生成的证书路径。
4.2 Apache 和 Certbot
类似地,您也可以在 Apache 服务器上使用此角色来管理 SSL/TLS 证书。通过配置 certbot_create_standalone_stop_services
变量,确保在生成证书时停止 Apache 服务。
certbot_create_standalone_stop_services:
- apache2
4.3 结合其他 Ansible 角色
此角色可以与其他 Ansible 角色结合使用,例如 geerlingguy.nginx
或 geerlingguy.apache
,以实现完整的 Web 服务器自动化部署。
通过以上步骤,您可以轻松地在服务器上部署和管理 Let's Encrypt 证书,确保您的网站始终使用最新的 SSL/TLS 证书。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考