自动申请Let's Encrypt证书脚本、程序
Let's Encrypt推荐的第三方客户端:链接 (opens new window)
推荐使用域名服务商提供的API
进行操作验证的,各个域名服务商 (opens new window),目前以阿里云为例,创建API (opens new window)
# Linux系统
使用acme.sh (opens new window),操作说明 (opens new window)
以阿里云API常用命令:
# 安装
curl https://get.acme.sh | sh -s email=my@example.com
# 创建alias(可选)
alias acme.sh=~/.acme.sh/acme.sh
# 输入阿里云的API
export Ali_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
export Ali_Secret="jlsdflanljkljlfdsaklkjflsa"
# 生成证书
acme.sh --issue --dns dns_ali -d example.com
# 复制证书
acme.sh --install-cert -d example.com --key-file /path/key.pem --fullchain-file /path/cert.pem
#--reloadcmd "service nginx force-reload"
# 开启自动更新程序
acme.sh --upgrade --auto-upgrade
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# Windows系统
- win-acme (opens new window),操作步骤 (opens new window)
- Certificate Manager (opens new window),操作步骤 (opens new window)
- Posh-ACME (opens new window),PowerShell Gallery (opens new window),高级指南 (opens new window)
# 群晖系统
是基于acme.sh进行的,替换默认证书,脚本链接 (opens new window),支持多个泛域名申请
操作步骤
- 下载
config
、cert-up.sh
、crt_cp.py
三个文件即可 - 操作步骤 (opens new window),网站镜像备份 (opens new window)
# OpenWrt
# 步骤1:安装套件
opkg install luci-ssl-openssl acme luci-app-acme
1
如果要使用基于DNS的证书验证,请同时安装DNS验证程序:
opkg install acme-dnsapi
1
# 步骤2:配置Web服务器
在这里,我们将告诉uhttpd重定向到https.
这些使用的OpenWRTuci
命令 (opens new window),这是一种从配置文件中解析、获取、设置、编辑值和段的绝妙方法.它使编写OpenWRT脚本变得轻而易举.
uci set uhttpd.main.redirect_https=1
uci commit
/etc/init.d/uhttpd restart
1
2
3
2
3
# 步骤3: 配置acme.sh并获取证书
在您的路由器上:
导航到LUCI中的
服务 -> ACME证书
,然后配置您的证书详细信息.确保为已配置的证书选择"用于uhttpd"和"已启用".如果您更喜欢使用命令行,只需编辑
/etc/config/acme
,然后运行/etc/init.d/acme start
之后.
# 步骤4: 添加定时任务
15 2 3 * * /etc/init.d/acme restart
1
# 步骤5: 配置防火墙
打开或转发LUCI端口以进行外部访问.(使用网络界面)