jaywink.letsencrypt
Ansible LetsEncrypt
一个用于自动化LetsEncrypt证书的角色。
稳定性:beta。
要求的Ansible版本:2.x
这个角色做什么?
这个角色将下载官方的Certbot客户端,安装它,并为你选择的域名颁发或续订证书。
功能如下:
- 在Ubuntu 14.04和Debian 8、Debian 9上测试过
- 每个角色只能包含一个域名
- 仅在
certonly
模式下运行
欢迎提交PR以增加更多功能。
安装
你可以直接从Galaxy安装这个角色,方法如下:
ansible-galaxy install jaywink.letsencrypt
详细信息
Cerbot客户端位置和版本
Ubuntu 14.04,Debian 8
- 客户端将作为根用户安装在
/opt/certbot
目录下 - 每次运行都会从经过验证的版本中拉取Certbot客户端代码。你可以使用变量
letsencrypt_certbot_version
设置特定的Certbot版本。
Debian 9
- 客户端将通过APT安装到标准平台位置,按存储库中的最新版本。
需注意事项
可以使用变量
letsencrypt_pause_services
配置在获得新证书之前停止或(重新)启动的服务列表。使用
certonly
模式,这意味着不会自动安装Web服务器。证书颁发后,你可以在
/etc/letsencrypt/live/<domainname>
中找到它。提示:在你的Apache2配置中使用此路径,例如,在你的主角色中。只需确保在Let’s Encrypt角色运行前不要尝试启动Apache2的虚拟主机!
SSLCertificateFile /etc/letsencrypt/live/{{ letsencrypt_domain }}/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/{{ letsencrypt_domain }}/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/{{ letsencrypt_domain }}/chain.pem
注意!如果这个角色在证书请求部分失败,你可能已经停止了服务——请小心!
如果证书之前已经请求过,该角色将自动尝试续订,如果可能的话。通过将
letsencrypt_force_renew
设置为false
可以禁用此功能。如果证书未到续订时,不会尝试续订。会自动请求一个
www.
子域名作为证书的一部分。- 要禁用此行为,请在变量中将
letsencrypt_request_www
设置为false
。
- 要禁用此行为,请在变量中将
需求
测试过的环境:
- Ubuntu 14.04和Debian 8、Debian 9
- Apache2和Nginx
- Ansible 2.x
角色变量
必需项
letsencrypt_domain
- 该证书的域名。letsencrypt_email
- 作为证书所有者的电子邮件。
可选项
letsencrypt_certbot_args
- 传递给Certbot的附加命令行参数,将与letsencrypt_certbot_default_args
结合使用。有关你可以传递的参数,请参考Certbot文档。letsencrypt_certbot_default_args
- 请查阅defaults/main.yml
,了解默认参数。同时,你可以重写Certbot的所有参数,例如使用另一个插件,使用此变量进行设置。letsencrypt_certbot_verbose
- 使Certbot输出到控制台(默认true
)。letsencrypt_certbot_version
- 设置特定的Certbot版本,例如git标签或分支。请注意,我们支持的最低Certbot版本是0.6.0。此设置对Debian 9没有影响。letsencrypt_force_renew
- 是否始终尝试续订,默认为true
。letsencrypt_pause_services
- 在调用Certbot时需要停止/启动的服务列表。letsencrypt_request_www
- 自动请求www.
(默认true
)。
示例剧本
该角色在你的主站点角色之前包含效果最佳,例如,或可以在单独的剧本中使用,如下所示。
该角色应成为目标主机的根用户。
---
- hosts: myhost
become: yes
become_user: root
roles:
- role: ansible-letsencrypt
letsencrypt_email: [email protected]
letsencrypt_domain: example.com
letsencrypt_pause_services:
- apache2
许可证
MIT
作者信息
Jason Robinson (@jaywink) - mail@jasonrobinson.me - https://jasonrobinson.me - https://twitter.com/jaywink
特别感谢Stefan Grönke(@gronke)对扩展这个角色所做的工作。
请参阅CONTRIBUTORS以获取完整的贡献者列表。
安装
ansible-galaxy install jaywink.letsencrypt
许可证
Unknown
下载
6.1k
拥有者
Pythonista and Djangonaut. Federated social web hacker. Author of Socialhome. Extinction Rebel.