Skip to content

Leif160519/certbot-hooks-aliyun

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

说明

该项目源自:python-alidns

使用方法

  • 1.安装依赖库
pip install aliyun-python-sdk-core-v3
pip install aliyun-python-sdk-domain
pip install aliyun-python-sdk-alidns
pip install requests
  • 2.变量替换
accesskeyid  # 阿里云账户的accessKeyId
accesssecret  # 阿里云账户的accessSecret
  • 3.执行certbot签发命令
#!/bin/bash
certbot certonly \
    -m your-email@example.com \
    -d *.example.com \
    -d example.com \
    --manual \
    --preferred-challenges dns \
    --config-dir /path/to/certbot \
    --work-dir /path/to/certbot \
    --cert-name example.com \
    --non-interactive \
    --agree-tos \
    --preferred-challenges dns \
    --manual-auth-hook /path/to/add.py \
    --manual-cleanup-hook /path/to/clean.py \
    --force-renew

参数解释:

名称 含义
your-email@example.com 自己的邮箱,可以收到Let's Encrypt的邮件
example.com 需要签发证书的二级域名,若想签发多个通配符证书,可以跟多个-d
/path/to/certbot 证书生成的路径
/path/to/add.py 自动添加dns解析的脚本
/path/to/clean.py 自动删除dns解析的脚本

注意:命令中邮箱,域名和路径根据实际情况进行更改,详细参数解释请参看:如何自签发免费通配符域名证书并实现自动化----Let's Encrypt

Q&A

  • Q:CERTBOT_DOMAINCERTBOT_VALIDATION这两个变量如何传入certbot
  • A:这两个变量是certbot在执行过程中生成的,CERTBOT_DOMAIN即为通配符域名,CERTBOT_VALIDATION即为TXT解析的记录值,是certbot随机生成的,这两个变量必须在hook脚本中获取,如果是在certbot命令外部通过传参方式传入hook脚本,是获取不到的,比如--manual-auth-hook "/path/to/add.py ${CERTBOT_DOMAIN} ${CERTBOT_VALIDATION}"

About

certbot签发脚本时自动添加阿里云dns解析

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages