certbot 有两种模式,DNS 模式和普通模式,前者只能手动操作,适合国内主机。后者可以自动操作,适合国外主机。这里讲讲普通模式。
普通模式又分两种:standalone 和 webroot 两种模式。官方原文在此: Certbot Instructions | Certbot 区别在于 standalone 需要主机腾出 80 端口(注意不仅是第一次需要,以后每次更新也需要),webroot 不需要。
如果主机必须要使用 80 端口(例如用于 80 到 443 重定向),那就只能用 webroot 模式。
webroot 模式使用时有个注意事项是:必须加上 -w 参数,后面写上域名对应的根目录,例如:
certbot certonly --webroot -w /var/www/html
否则后续进行 certbot renew 时会出错。这一点在官方原文里没写。
详情可以此记录: