手动使用 Certbot 获取 SSL 证书
Let's Encrypt 已成为创建安全互联网的最重要组织之一。 Let's Encrypt 是一个免费、自动化和开放的证书颁发机构 (CA),为公众利益而运行,是由 Internet 安全研究小组 (ISRG) 提供的一项服务。他们为人们提供他们需要的数字证书,以便免费为网站启用 HTTPS (SSL/TLS)。它得到了 EFF、ISRG、Linux 基金会、谷歌、Facebook 等公司的支持。 2020 年 2 月,他们颁发了我们的第 10 亿张证书
Let's Encrypt 背后的关键原则是(在他们的网站上):
- 免费:任何拥有域名的人都可以使用 Let's Encrypt 以零成本获取有效期为 9 天的可信证书。
- 自动:在 Web 服务器上运行的软件可以与 Let's Encrypt 交互以轻松获取证书,安全地配置它以供使用,并自动处理更新,通常称为 certbot。
- 安全: Let's Encrypt 将作为推进 TLS 安全最佳实践的平台,无论是在 CA 方面,还是通过帮助站点运算符正确保护他们的服务器。
- 透明:所有颁发或撤销的证书都将公开记录并可供任何人检查。
- 开源:自动发行和更新协议将作为其他人可以采用的开放标准发布。
Certbot 是一种免费的开源软件工具,用于在手动管理的网站上自动使用 Let's Encrypt 证书以启用 HTTPS。它主要由电子前沿基金会 (EFF) 在Python上构建。几乎许多共享和一些云托管提供商在网站托管面板中集成了 certbot 或等效插件,允许您使用某些按钮获取、更新和管理 SSL/TLS 证书。
在本文中,我们将学习如何手动使用 certbot 获取 SSL 证书,这可以帮助您了解 certbot 的工作原理,本教程将使用 Ubuntu(您可以使用任何类似 UNIX 的操作系统)。
要求:
- Certbot 旨在直接在 Web 服务器上运行。您可以在本教程中使用您的 PC
- 确保你已经安装了Python ,这使得安装速度更快
- 最好有root权限
对于 Ubuntu 或 Debian 系统,您可以使用 APT 安装 certbot
sudo apt-get install certbot
安装后键入这个长命令
certbot certonly –manual -d *.exampledomain.com -d exampledomain.com –agree-tos –manual-public-ip-logging-ok –preferred-challenges dns-01 –server https://acme-v02.api.letsencrypt.org/directory –register-unsafely-without-email –rsa-key-size 4096
进入命令
- certbot: certbot 程序
- certonly:运行 certbot 一次,certbot-auto 自动运行 certbot
- 手动:在手动模式下运行 certbot
- d:要包含在证书中的域,使用您的域及其通配符而不是 exampledomain.com
- 同意:同意 letencrypt 和 eff 的服务条款
- manual-public-ip-logging-ok:出于安全目的记录您正在使用的系统的 IP
- 优选挑战:用于验证域所有权的方式,我们使用了 DNS 挑战
- 服务器: letsencrypt ACME 服务器
- register-unsafely-without-email:无需注册即可获取证书,无需电子邮件,但在生产中使用电子邮件接收有关获取、更新和撤销证书的信息
- rsa-key-size: RSA 密钥大小的长度
这时候你可以看到类似下图的东西
现在登录您的 DNS 管理器并使用 acme-challenge 添加 TXT 记录,不要更改 acme-challenge
验证完成后,certbot 将为您的域获取 SSL 证书。您可以在 /etc/letsencrypt/live/exampledomain.com/ 文件夹中找到 SSL 证书