HADB / le-alidns

通过阿里云 DNS 为 Let's Encrypt 签发 SSL 证书提供验证的脚本工具。

Home Page:https://fenying.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LE-AliDNS

通过阿里云 DNS 为 Let's Encrypt 签发证书提供验证的脚本工具。

功能

  • 支持签发多域名证书

  • 支持签发 ACMEv2 的通配符证书(配置开启 acme-version=v2

    如果此前使用了 ACMEv1 签发的证书,那么建议在升级前将 /etc/letsencrypt 目录备份 例如改个名。

  • 支持刷新证书

使用条件

  1. 一台能运行 Certbot 的 Linux/Mac 设备
  2. 安装有 Python 2.7.x (需自行手动安装)
  3. 安装有 Certbot (需自行手动安装)
  4. 要签发(续签)的所有证书,域名都是通过阿里云 DNS 管理的。

使用方式

安装

使用 Git Clone 仓库,例如:

LE_ALIDNS_INSTALL_ROOT=/usr/local
LE_ALIDNS_DIRNAME=le-alidns
LE_ALIDNS_ROOT="${LE_ALIDNS_INSTALL_ROOT}/${LE_ALIDNS_DIRNAME}"
cd $LE_ALIDNS_INSTALL_ROOT
git clone https://github.com/fenying/le-alidns.git $LE_ALIDNS_DIRNAME
cd $LE_ALIDNS_ROOT
find '.' -name '*.sh' -exec chmod 0700 {} \; # 设置 Shell 脚本执行权限
git config --local core.filemode false # 忽略该git仓库的文件权限属性改动

更新版本

LE_ALIDNS_INSTALL_ROOT=/usr/local
LE_ALIDNS_DIRNAME=le-alidns
LE_ALIDNS_ROOT="${LE_ALIDNS_INSTALL_ROOT}/${LE_ALIDNS_DIRNAME}"
cd $LE_ALIDNS_ROOT
git config --local core.filemode false
git pull
find '.' -name '*.sh' -exec chmod 0700 {} \; # 设置 Shell 脚本执行权限

初始化

依赖如下组件: (可以通过 initialize-env.sh 自动安装)

  • Pip
  • Aliyun CLI 命令行工具
  • Aliyun AliDNS Python SDK
  1. 运行脚本 initialize-env.sh 安装 Python 2.7, PIP, Aliyun-CLI, Aliyun-SDK-AliDNS 等组件,并配置 Access-Key 和 Secret-Key。

    Access-Key 需要 AliyunDNSFullAccess 权限。参考: 配置命令行工具和 SDK

  2. 复制 default.conf 配置文件为 /etc/le-alidns.conf,并根据需要配置。

配置 Pip 源

由于某些不可描述的原因,对于在国内使用 Pip 会出现无法下载或者下载极其缓慢的情况。 这个情况请修改 Pip 配置文件(一般是 ~/.pip/pip.conf),使用清华大学的源:

不要使用阿里云的源。

[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple

[install]
trusted-host=pypi.tuna.tsinghua.edu.cn

参考:certbot/certbot#2516

签发新证书

执行 sudo /path/to/sign-all.sh 即可为 domains 里配置的所有域名都签发证书。

续签证书

执行 sudo /path/to/renew-all.sh 可以续签所有已经签发的证书(包括手动签发的)。

执行前使用 export LEALIDNS_FORCE=1 可以强制续签证书,但是一般情况请不要使用。

作者

Angus.Fenying <i.am.x.fenying@gmail.com>

License

本项目基于 MIT 协议开源,可自由使用,如果使用过程中发生任何意外,本人 不承担任何责任。

About

通过阿里云 DNS 为 Let's Encrypt 签发 SSL 证书提供验证的脚本工具。

https://fenying.net

License:MIT License


Languages

Language:Shell 100.0%