Certbot Let's Encrypt client
Light · Postcard
102 × 152 mm · PDF
Dark · Postcard
102 × 152 mm · PDF
Ink saver · Postcard
102 × 152 mm · PDF
Light · A4 landscape
297 × 210 mm · PDF
Dark · A4 landscape
297 × 210 mm · PDF
Ink saver · A4 landscape
297 × 210 mm · PDF
Light · A3 landscape
420 × 297 mm · PDF
Dark · A3 landscape
420 × 297 mm · PDF
Ink saver · A3 landscape
420 × 297 mm · PDF
Start here
sudo certbot --nginx
sudo certbot certonly --webroot -w <dir> -d
<domain>
sudo certbot certificates
sudo certbot renew --dry-run
sudo certbot renew
sudo certbot delete --cert-name <name>
systemctl list-timers
sudo certbot certonly --standalone -d <domain>
Concepts
- Request certonly or run
- Validate HTTP-01 or DNS-01
- Store live/<name>/
- Renew timer + hooks
Obtain
certbot certonly -d <domain>
certbot --nginx -d <domain>
-d <a> -d <b>
--cert-name <name>
--expand -d <old> -d <new>
--staging--key-type rsa / ecdsa
Authenticators
--webroot -w <dir>
--standalone--dns-cloudflare / --dns-route53
--dns-cloudflare-credentials <file>
Inspect and Renew
certbot certificates
certbot renewcertbot renew --dry-run
certbot renew --cert-name <name>
--force-renewal--deploy-hook <cmd>
--pre-hook <cmd>
--post-hook <cmd>
certbot install --cert-name <name>
Manage Certs
certbot delete --cert-name <name>
certbot revoke --cert-name <name>
Files and Hooks
| Path | Holds |
|---|---|
live/<name>/fullchain.pem |
Cert plus chain: use this |
live/<name>/privkey.pem |
Private key |
live/<name>/cert.pem, chain.pem
|
Parts, rarely needed |
archive/<name>/ |
Numbered history |
renewal/<name>.conf |
Saved options for renew |
renewal-hooks/{pre,deploy,post}/ |
Executable scripts |
cli.ini |
Global defaults |
Recipes
sudo certbot certonly --webroot -w /var/www/example \ -d example.com -d www.example.com \ --deploy-hook 'systemctl reload nginx'
# /root/cf.ini holds dns_cloudflare_api_token = ...chmod 600 /root/cf.inisudo certbot certonly --dns-cloudflare \ --dns-cloudflare-credentials /root/cf.ini \ -d example.com -d '*.example.com'
sudo certbot renew \ --pre-hook 'systemctl stop nginx' \ --post-hook 'systemctl start nginx'
# /etc/cron.d/certbot0 3,15 * * * root certbot renew -q \ --deploy-hook 'systemctl reload nginx'



