Hellojxl - certbot
type: channel
link: https://www.hellojxl.com/index.php/tag/certbot/
items: 关于certbot的简单用法

关于certbot的简单用法
type: item
date: 2022-04-10T03:02:00+00:00
description: 最近一直在用Certbot进行Let's Encrypt的证书管理，这里大概记录一下常用的吧。签发证书直接通过Auth插件安装完certbot之后直接可以通过以下代码就可以了，目前只使用过一次，虽然方便但是貌似后面续期的时候不太好用certbot --nginx 通过webroot目前大部分通过这种方式进行，可能自己用的不太深入吧，说一下nginx的相关配置吧，需要先添加以下配置，注意一下自己的主目录location ~ /.well-known/acme-challenge/ { allow all; root /usr/share/nginx/html; default_type "text/plain"; } location = /.well-known/acme-challenge/ { return 404; } 然后执行以下代码获取证书certbot certonly --webroot -w /usr/share/nginx/html/ -d www.exmaple.com 然后再配置一下nginx的证书配置即可ssl_certificate /etc/letsencrypt/live/www.exmaple.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/www.exmaple.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/www.exmaple.com/chain.pem; ssl_protocols TLSV1.1 TLSV1.2; ssl_prefer_server_ciphers on; ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL; 然后在443的端口中也添加一下well-known那段配置，方便后面续期。查看当前证书可能有时会签好几个证书，那么可以通过以下代码查看已签发的证书certbot certificates 删除证书保险起见先吊销证书certbot revoke --cert-name www.exmaple.com 成功之后进行删除certbot delete --cert-name www.exmaple.com 续期证书可以通过crontab添加定时任务进行证书的续期，使用renew命令进行续期，renew会使用之前成功的操作方式进行续期certbot renew 添加crontab时注意certbot所在的路径，最好带上全路径（可以通过which certbot找到路径），避免找不到certbot而失败，执行crontab -e添加一下代码0 5 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log 以上的命令大部分都是在debian上进行的，可能其它系统可不通过，需要注意。