ubuntu用certbot自动更新证书

49 阅读1分钟

相关命令

测试 Nginx 配置文件的语法正确性

  • 检查 /etc/nginx/nginx.conf 以及所有包含的配置文件(如 conf.d/*.conf)的语法:
  • 不会重启或重新加载 Nginx 服务,只是验证配置
sudo nginx -t

显示所有已安装的 Let's Encrypt SSL 证书的详细信息

  • 列出系统中所有通过 Certbot 管理的 SSL 证书
  • 显示每个证书的详细状态信息
  • 帮助管理员了解证书的当前状态
sudo certbot certificates

删除指定名称的 Let's Encrypt SSL 证书

  • 删除名为 api.valleytale.com 的证书及其相关文件
  • 移除证书的所有配置和密钥文件
  • 清理 Certbot 的证书管理记录
sudo certbot delete --cert-name example.com
sudo certbot delete

使用 Nginx 插件为指定域名申请 SSL 证书(仅获取证书,不自动配置)

  • certonly: 只获取证书,不自动修改 Nginx 配置文件
  • --nginx: 使用 Nginx 插件进行域名验证
  • -d api.valleytale.com: 指定要申请证书的域名
sudo certbot certonly --nginx -d api.valleytale.com

测试自动续期

# 模拟续期测试(不会实际续期)
sudo certbot renew --dry-run

# 查看续期日志
sudo journalctl -u certbot.timer
sudo journalctl -u certbot.service

具体步骤

  1. 用sudo certbot certificates检查过期证书
  2. 用sudo certbot delete --cert-name example.com删除过期证书
  3. nginx配置里暂时移除相关证书的配置,因为证书已经被移除,不移除配置nginx会报错
  4. 用sudo certbot certonly --nginx -d example.com生成证书
  5. 打开第3部移除的nginx配置
  6. 用sudo nginx -s reload重新加载配置