通过 SSH 连接到服务器

以具有 sudo 权限的用户身份通过 SSH 连接到运行 HTTP 网站的服务器。

安装 snapd

ubuntu 20.04 版本默认已安装 snapd,这一步可以跳过。如果你的服务器没有安装 snapd,按照 snapcraft 网站上的这些说明安装 snapd

删除 certbot-auto 和任何 Certbot OS 软件包

如果您使用操作系统包管理器例如aptdnf 或 yum安装过 Certbot 包,则应在安装 Certbot snap 之前删除它们,以确保在运行 certbot 命令时使用 snap 而不是操作系统安装包管理器。执行此操作的确切命令取决于您的操作系统,常见的示例包括 sudo apt-get remove certbotsudo dnf remove certbot,或 sudo yum remove certbot

安装 Certbot

sudo snap install --classic certbot

获取证书

certbot certonly --webroot -w /var/www/www.codesou.cn -d www.codesou.cn -d www.codesou.cn

这个命令会为  www.codesou.cn 和 www.codesou.cn 这两个域名生成一个证书,使用 --webroot 模式会在 /var/www/www.codesou.cn 中创建 .well-known 文件夹,这个文件夹里面包含了一些验证文件,certbot 会通过访问 www.codesou.cn/.well-known/acme-challenge 来验证你的域名是否绑定的这个服务器。

初次运行时,需要输入一个邮箱,命令成功执行后会在 /etc/letsencrypt/live/ 生成对应域名的证书目录:

更新证书

免费证书只有90天有效期,如果需要更新证书,可以使用下面的命令:

sudo certbot renew --dry-run

如需自动更新,配置下cron即可。