bendews.letsencrypt-cloudflare
LetsEncrypt-Cloudflare
这个角色简化了在使用Cloudflare作为DNS提供商时续订LetsEncrypt证书的过程。
需求
- Python >= 2.6
- OpenSSL(如果支持,将自动安装)
角色变量
可用的变量列在下面,并附有默认值(更多可以修改的变量见defaults/main.yml
)
必需字段:
letsencrypt_email: ""
cloudflare_email: ""
cloudflare_api_key: "" # 指定Cloudflare账户的“全局”API密钥
cloudflare_domain: "" # Cloudflare托管的DNS区域,用于创建条目
重要说明:
默认情况下,该角色将使用库存主机名作为公共名称请求证书,并将所有生成/接收的证书文件放在/etc/ssl/[证书公共名称]
中,所有LetsEncrypt账户文件放在/etc/ssl/lets_encrypt
中。这些路径都可以被覆盖(见defaults/main.yml
)。
此外,证书文件在生成后也可以被复制并重命名到其他位置,通过修改以下任意变量:
copy_csr_full_path: ""
copy_crt_full_path: ""
copy_key_full_path: ""
copy_intermediate_full_path: "" # 需要将include_intermediate设置为'yes'
copy_fullchain_full_path: "" # 需要将include_intermediate设置为'yes'
该角色默认使用“临时”lets_encrypt端点,生成功能正常但不受信任的证书。为了生成有效的证书,请设置:
letsencrypt_production: yes
使用后,可以通过指定以下变量来删除生成的文件:
cleanup_all: yes
示例播放簿
- hosts: servers
tasks:
- name: 续订/下载新的SSL证书
include_role:
name: letsencrypt-cloudflare
vars:
letsencrypt_email: "[email protected]"
cloudflare_email: "[email protected]"
cloudflare_domain: "abc.com"
cloudflare_api_key: "AAABBBCCCDDDEEE111222333"
letsencrypt_production: yes
include_intermediate: yes
待办事项:
- 添加对多个CN的支持
许可证
MIT
作者信息
由 Ben Dews 于2017年创建
安装
ansible-galaxy install bendews.letsencrypt-cloudflare
许可证
mit
下载
4.5k
拥有者
Engineer with a passion for network & infrastructure automation