certbot 续期失败的三种典型原因
证书到期前 30 天开始自动续期,某天收到到期提醒,说明续期一直失败。
查 certbot renew --dry-run 的输出,三种最常见:
一,Could not bind TCP port 80。有别的服务占着 80,比如另一个 nginx、或者上次没退干净的 certbot 进程。ss -lntp | grep :80。
二,Invalid response ... 404。webroot 模式下路径拼错,或者 nginx 把 /.well-known/ 也重定向到 https 了。
三,DNS problem: NXDOMAIN。域名解析到了别处,或者 A 记录刚删。这种情况在迁移机器后特别常见。
修完记得 certbot renew --dry-run 通过再走,别等真到期才发现。