1.运行证书服务docker

docker run --entrypoint="/bin/sh" -it --name certbotsh certbot/certbot:latest

2.在容器里运行certbot命令

certbot certonly --manual --preferred-challenges dns-01 --agree-tos -d "quchangguan.cn" -d "*.quchangguan.cn" --server https://acme-v02.api.letsencrypt.org/directory

  –manual   使用交互式或脚本钩子的方式获取证书

  –preferred-challenges   使用 DNS 方式校验域名所有权

  –agree-tos   同意ACME服务器的订阅协议

  -d   域名列表,可多个。第一个是主域名

  –server   服务器,默认https://acme-v01.api.letsencrypt.org/directory

3.依次按照提示填写信息和执行操作,其中会提示需要添加TXT记录的dns解析

4.最后申请完成,会提示文件路径和证书使用期限

5.生成的证书文件。cert.pem申请的服务器证书文件,privkey.pem服务器证书对应的私钥,chain.pem除服务器证书外(ca证书),浏览器解析所需的其他全部证书,比如根证书和中间证书,fullchain.pem包含服务器证书的全部证书链文件。

 

补充:

不使用docker,自己下载命令

wget https://dl.eff.org/certbot-auto

chmod +x certbot-auto

./certbot-auto certonly –email xxx@xxx.com –agree-tos -d “xxx.cn” -d “*.xxx.cn” –manual –preferred-challenges dns-01 –server https://acme-v02.api.letsencrypt.org/directory

或者

git clone https://github.com/letsencrypt/letsencrypt

cd letsencrypt

./letsencrypt-auto certonly –email xxx@xxx.com –agree-tos -d “xxx.cn” -d “*.xxx.cn” –manual –preferred-challenges dns-01 –server https://acme-v02.api.letsencrypt.org/directory

 

不管执行上面哪种都会报一种错

  这是使用python3命令执行的时候却调用的是python2.7命令执行

解决方法:

  apt-get purge python-virtualenv python3-virtualenv virtualenv

  pip install virtualenv

然后再执行certbot-auto命令或者letsencrypt-auto命令

下面就会进入到交互阶段,同docker里执行certbot命令后一样的操作

查看当前服务器上全部证书

 

版权声明:本文为chy-op原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/chy-op/p/10144915.html