# Let's Encrypt 是什么
Let's Encrypt 是一个免费、自动化且开放的证书颁发机构(CA),它提供的 SSL/TLS 证书对于网站来说是非常重要的,因为它们可以保证用户与网站之间的连接是安全的。
# 使用 Let's Encrypt 的服务
通常我们会使用一个名为 Certbot 的工具。以下是在 Ubuntu 20.04 上安装和使用 Certbot 的步骤:
- 首先,您需要安装 Certbot 和 Let's Encrypt 插件。您可以通过以下命令进行安装:
sudo apt-get update | |
sudo apt-get install certbot python3-certbot-nginx |
这里我们以
Nginx服务器为例。如果您使用的是Apache或其他类型的服务器,您可能需要安装不同的Certbot插件。
- 运行
Certbot并按照提示完成操作。Certbot会自动处理证书的申请和安装过程:
- 方式一:根据 Nginx 配置文件自动安装 HTTP 认证
sudo certbot --nginx |
这里,
--nginx选项告诉Certbot您想要自动配置Nginx服务器。
在运行这个命令后,Certbot会询问一些问题并自动完成设置。
例如,它会询问您的电子邮件地址(用于发送重要的更新和证书的续订提醒),并要求您同意服务条款。
然后,Certbot会与Let's Encrypt的服务器通信,验证您是否控制着您的网站的域名。
- 方式二:手动指定域名 HTTP 认证
sudo certbot certonly --standalone -d example.com -d www.example.com |
- 方式三:手动指定域名 DNS 认证
certbot certonly --manual --preferred-challenges=dns -d example.com -d www.example.com | |
certbot certonly --manual --preferred-challenges=dns -d example.com -d www.example.com -v # 加 - v 后应该可以直接看到 token 信息,暂时没有测试是否可行 |
查看 token 内容命令
cat /var/log/letsencrypt/letsencrypt.log |
然后,在 DNS 中配置
| 类型 | 名称 | 内容 |
|---|---|---|
| TXT | _acme-challenge. 二级域名 <br/>or <br/>_acme-challenge. 完整域名 | token 内容 |
- 定期更新证书
通常,证书有效期是 3 个月,需要定期更新证书。Certbot提供了一个自动更新证书的选项,只需要添加一个计划任务即可。您可以通过以下命令编辑计划任务:
sudo crontab -e |
然后在文件底部添加以下行:
0 12 * * * /usr/bin/certbot renew --quiet
这个计划任务会每天中午检查您的证书是否需要更新,如果需要的话,
Certbot会自动进行更新。
以上就是使用 Let's Encrypt 和 Certbot 在 Ubuntu 20.04 上设置 SSL 证书的基本步骤。
具体的步骤可能会因为您的服务器环境和配置有所不同,所以在操作过程中可能需要进行一些调整。
过去无法挽回,未来可以改变,有的人成日殚精竭虑,却掀不起什么风浪,有的人却因一念之差,让世界天翻地覆,这就是命运权重。