申请letsencrypt证书

docker 手动获取证书 - dns

dns方式:申请验证时,会提示一个相关域名的txt记录,按提示进行解析后进行验证,验证通过后在本地目录生成证书

  • docker certbot 用法帮助
docker run --rm -it certbot/certbot certbot --help all
  • 获取证书 - 域名: code.digi-sky.com
docker run --rm -it -v /data/ssl:/etc/letsencrypt certbot/certbot certonly --manual --preferred-challenges dns -d code.digi-sky.com

# 证书文件生成在/data/ssl/archive/目录下
# -d 指定域名,可跟多个

shell 自动验证并获取证书 - webroot

webroot方式:先验证网站所有权,通过后发放证书

要实现自动验证需要有在网站根目录生成验证文件的脚本authenticator.sh及验证通过后清理文件的脚本cleanup.sh

  • 所需脚本
# cat authenticator.sh 
#!/bin/bash
echo $CERTBOT_VALIDATION > /var/www/htdocs/newops/.well-known/acme-challenge/$CERTBOT_TOKEN
# cat cleanup.sh 
#!/bin/bash
rm -f /var/www/htdocs/newops/.well-known/acme-challenge/$CERTBOT_TOKEN
  • 验证并获取证书
certbot certonly --manual --preferred-challenges=http --manual-auth-hook ./authenticator.sh --manual-cleanup-hook ./cleanup.sh -d newops.cn

# -d 指定域名,可跟多个