生命不息
折腾不止

使用certbot的docker来生成SSL证书,简单明了,一学即会

现在 ssl 的证书无处不在,无论是你建站也好,还是某些特殊用途也罢,你不会生成 SSL 证书估计都用不好互联网。免费的 Letsencrypt 应该是最容易获得的证书了。只是生成 ssl 证书的过程砍死复杂,工具众多,比较常用的还是 certbot ,但是 certbot 要装一堆东西,有洁癖的估计会很烦,后来我发现,其实用 docker 来生成证书非常简单明了。

用 CloudFlare 的原因在于, CloudFlare 提供了 API ,可以代码自动验证 dns 归属来生成证书,比起通过网站来验证简单的多,而且 CloudFlare 还有很多神奇的功能。所以如果你有域名要生成证书,建议先扔给 CloudFlare 解析。

今天就教大家配合 CloudFlare 来生成 letsencrypt 的 SSL 证书的方法。

如果有不懂的也可以留言。我会尽量回复。

 

第一步:创建 CloudFlare 的 API 验证文件

mkdir -p /home/letsencrypt/
vi /home/letsencrypt/cloudflare.ini

输入你的 cloudflare 账号邮箱和 API KEY

dns_cloudflare_email = [email protected]
dns_cloudflare_api_key = e89af204ab0e06def9c0846c202d1dec40e80

 

第二步:运行 docker 来生成证书

如果你没有安装过 docker ,可以使用命令来安装: curl https://get.docker.com | bash

如果安装过 docker ,则执行以下命令,启动 docker 来生成证书

docker run -it --rm --name certbot \
            -v "/etc/letsencrypt:/etc/letsencrypt" \
            -v "/var/lib/letsencrypt:/var/lib/letsencrypt" \
            -v "/home/letsencrypt:/.secrets" \
            certbot/dns-cloudflare certonly \
            --dns-cloudflare-credentials /.secrets/cloudflare.ini \
            --dns-cloudflare-propagation-seconds 60 \
            --server https://acme-v02.api.letsencrypt.org/directory \
            -d *.sina.com -d www.sohu.com

要修改最后一行那个 -d 后面的网站就可以了,多个域名可以添加多个  -d 域名

 

安装过程的选择

这里选 1 :

这里填写你的 email 地址:

是否接收新闻 , 随意填 Y 或者 N :

这里填 A :

然后等 60 秒,如果出现” Congratulations ”就说明生成成功了。

letsencrypt

 

生成的证书位置

生成的证书在: /etc/letsencrypt/live/ 你的域名文件夹  下

其中:

fullchain.pem 包括了 cert.pem 和 chain.pem 的内容,如果其他教程里需要有个文件是 .cert 后缀的,那就用这个文件就对了

privkey.pem 就是私钥,如果其他教程里面使用的文件是 .key 后缀的,那就是用这个文件。

赞(0)
未经允许不得转载:91云(91yun.co) » 使用certbot的docker来生成SSL证书,简单明了,一学即会

留言 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #0

    acme.sh 舒服很多

    neroxps5年前 (2019-12-23)回复