certbot用法
简单的笔记。大神请略过。
1.安装 Certbot 和插件
如果使用 Apache:
apt install certbot python3-certbot-apache
如果你使用其他 Web 服务器,请替换 python3-certbot-apache 为相应的插件(例如,如果使用 Nginx,则安装 python3-certbot-nginx)。
2.运行 Certbot
2.1如果80,443等等端口都没有,那么可以用dns验证的方式。
certbot certonly --manual --preferred-challenges dns -d yourdomain.com
2.2使用 Standalone 验证
停止现有的 web 服务器程序,如 nginx 或 apache。这样可以避免端口冲突(视实际情况而定)。
sudo certbot certonly --standalone -d example.com -d www.example.com
2.3我不想要暂停网站,那怎么办?
Certbot申请证书时,如果不想暂停网站,可以使用--webroot或--nginx / --apache等插件方法。这两种方式都无需中断已运行的Web服务,通过80端口进行验证。(实测443端口也可以)
首先,确保你的网站服务器正在运行,并且可以通过80端口正常访问。
在你的Web服务器配置中,确保.well-known/acme-challenge/目录可以被公开访问。对于Nginx或Apache等服务器,这通常是默认配置,无需额外设置。
执行Certbot命令时,指定--webroot和你的网站根目录路径,例如:
certbot certonly --webroot -w /var/www/your_domain -d your_domain.com
-w /var/www/your_domain:指定你的网站根目录。Certbot会在这里创建验证文件。
-d your_domain.com:指定你要申请证书的域名。
2.4不想暂停网站还可以用插件方式。会自动修改服务器配置。如果不想要自动修改请用2.3的方法。
插件模式 (--nginx / --apache)
如果Certbot支持你使用的Web服务器(如Nginx或Apache),可以使用对应的插件模式,Certbot会自动处理所有配置和验证步骤,包括修改服务器配置和重新加载服务,整个过程无需手动干预。
如何操作:
Nginx用户:
sudo certbot --nginx
Apache用户:
sudo certbot --apache
以上会自动生成
ssl_certificate /etc/letsencrypt/live/your-domain/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain/privkey.pem;
3.自动更新
certbot renew
它会检查你服务器上的所有证书。
如果一个证书在30天内到期,它会自动尝试续期,并使用你最初申请时所用的相同配置(例如 --webroot 和对应的网站根目录)。
如果证书有效期还足够,certbot renew会什么都不做就退出。
测试自动更新,看能不能用(不会真的运行):certbot renew --dry-run
查看定时任务
systemctl list-timers
对第三点的备注:其实运行过certbot就已经加入定时任务了,不需要我们再去动手。
习惯了使用ACME~
看来acme用的人多。
还有个 acme.sh 还是啥的,我现在用这个
是。你说的这个也是常用的。