Certbot 目前需要在装有 Python 2.7 或者 3.4 + 的类 Unix 操作系统上运行。一般情况下,为了能够对 /etc/letsencrypt/var/log/letsencrypt/var/lib/letsencrypt 等目录具有写权限,绑定 80 端口(如果使用 Standalone 插件),读取和修改 Web 服务器配置(如果使用 Apache 或 Nginx 插件),Certbot 需要在 root 权限下执行。

以下使用 root 用户在 Ubuntu 18.04.3 LTS 下作为演示。

安装 certbot-auto

root@ubuntu-s-1vcpu-1gb-nyc1-01:~# wget https://dl.eff.org/certbot-auto
root@ubuntu-s-1vcpu-1gb-nyc1-01:~# mv certbot-auto /usr/local/bin/certbot-auto
root@ubuntu-s-1vcpu-1gb-nyc1-01:~# chmod +x /usr/local/bin/certbot-auto

Webroot

如果你的 Web 服务器正在运行,然而并不想再证书颁发过程中停止 Web 服务器。那么使用 webroot 插件申请证书是一个不错的选择。你除了需要使用 certonly--webroot 分别声明只需要申请证书而无须改变 Web 服务器配置和使用 webroot 插件之外,还需要使用 -w 声明需要申请证书域名的网站根目录、使用 -d声明域名。

webroot 工作的原理就是在网站根目录创建一个临时文件${webroot-path}/.well-known/acme-challenge,然后 Let’s encrypt 服务器通过发送 HTTP 请求进行验证。

以 nginx 为例,需要在网站配置文件下加入:

location ~ /.well-known {
            allow all;
        }

申请 Let's Encrypt 证书

certbot-auto certonly --webroot -w /home/wwwroot/domain.tld -d domain.tld -d www.domain.tld --email 'youremail@domain.tld'

申请 Buypass 证书

certbot-auto certonly --webroot -w /home/wwwroot/domain.tld -d domain.tld -d www.domain.tld --email 'youremail@domain.tld' --server 'https://api.buypass.com/acme/directory'

续期

root@ubuntu-s-1vcpu-1gb-nyc1-01:~# certbot-auto renew

本文待详细补充

标签: none

添加新评论