编辑
2023-05-29
其他
00
请注意,本文编写于 357 天前,最后修改于 357 天前,其中某些信息可能已经过时。

目录

使用 Nginx 配置 SSL/TLS 加密和 Let's Encrypt 免费证书自动续订
介绍
前置条件
步骤
第一步:安装 Certbot
第二步:获取证书
第三步:更新 Nginx 配置
第四步:测试配置
可选步骤:设置自动更新

使用 Nginx 配置 SSL/TLS 加密和 Let's Encrypt 免费证书自动续订

介绍

在今天的互联网环境中,安全已经越来越重要。为了确保数据传输时的机密性和完整性,使用 SSL/TLS 协议对数据进行加密已经成为必需。而 Let's Encrypt 则提供了免费、开放、自动的 SSL/TLS 证书,使得获取和部署证书变得更加容易。

本文将会介绍如何在 Nginx 上配置 SSL/TLS 加密,并使用 Let's Encrypt 免费证书实现证书自动续订。下面就跟着教程一步一步地完成吧。

前置条件

在开始之前,请确保以下条件已经满足:

  • 拥有一个可用的域名(例如 example.com
  • 安装并配置了 Nginx
  • 通过防火墙或者路由器打开了 80 和 443 端口

步骤

第一步:安装 Certbot

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 配置

更新 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 免费证书自动续订。现在,你的网站始终使用有效的 SSL/TLS 加密证书,并且在证书到期或无效时能够及时恢复。

可选步骤:设置自动更新

Certbot 默认会在到期前 30 天尝试更新证书并自动续订证书。如果你想手动修改自动更新计划,可以运行以下命令:

复制代码sudo certbot renew --dry-run

该命令会模拟自动续订操作,但不会实际更新证书。如果一切顺利,则说明自动续订功能可用。

要修改自动更新计划,请编辑 /etc/crontab 文件,并添加以下内容:

复制代码0 0 1 * * root

本文作者:phae

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!