Let's Encrypt 提供了免费、开放、自动的 SSL/TLS 证书,使得获取和部署证书变得更加容易。
本文将会介绍如何在 Nginx 上配置 SSL/TLS 加密,并使用 Let's Encrypt 免费证书实现证书自动续订。
在开始之前,请确保以下条件已经满足:
example.com
)Certbot 是一个 Let's Encrypt 证书自动化管理工具,可以帮助我们快速获取和管理 Let's Encrypt 证书。在 Ubuntu 上,你可以使用以下命令来安装 Certbot:
sudo apt-get update sudo apt-get install certbot python3-certbot-nginx
现在,需要使用 Certbot 获取 Let's Encrypt 证书了。运行以下命令以获取证书:
sudo certbot --nginx -d example.com
在运行该命令时,请将 example.com
替换为自己的域名。Certbot 将会自动探测 Nginx 的配置并获取 Let's Encrypt 证书。
如果一切顺利,会看到类似以下内容的提示信息:
Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem
这些文件路径就是 SSL/TLS 证书和私钥的路径。
更新 Nginx 的配置文件,将 SSL 相关配置替换为以下内容:
# SSL 相关配置 ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # 其他 Nginx 配置
在这里,使用 Certbot 获取的 SSL 证书和私钥的路径替换了之前的 /path/to/ssl/certificate
和 /path/to/ssl/certificate/key
。
运行以下命令重启 Nginx 并测试配置是否生效:
sudo systemctl restart nginx sudo nginx -t
如果测试通过,则说明已经成功配置了 SSL/TLS 加密和 Let's Encrypt 免费证书自动续订。
Certbot 默认会在到期前 30 天尝试更新证书并自动续订证书。如果想手动修改自动更新计划,可以运行以下命令:
sudo certbot renew --dry-run
该命令会模拟自动续订操作,但不会实际更新证书。如果一切顺利,则说明自动续订功能可用。
要修改自动更新计划,请编辑 /etc/crontab
文件,并添加以下内容:
0 0 1 * * root
本文作者:phae
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!