Certbot 部署 Nginx 免费 SSL 证书

在 Linux 上使用 Certbot 为 Nginx 部署 SSL 证书是一个很简单的过程,只需要执行几个命令就可以。
以下演示在 Ubuntu/Debian 上通过 Certbot 为 Nginx 服务器获取并安装SSL证书,其他 Linux 系统安装命令类似。

安装 Nginx

首先,确保你的 Ubuntu/Debian 服务器上已经安装了 Nginx。如果还没有安装,可以使用以下命令进行安装:

1
2
sudo apt update
sudo apt install nginx

部署 Nginx http 站点

先部署好 Nginx http 站点,certbot-nginx 插件将自动往 Nginx 配置中加入 SSL 部署配置。

安装 Certbot 及其 Nginx 插件

1
2
sudo apt install certbot python3-certbot-nginx
#sudo apt install certbot python3-certbot-apache # Apache 可使用此命令

获取并安装SSL证书

安装 Certbot 和 Nginx 都安装后,你可以使用 Certbot 的 Nginx 插件来自动为你的网站获取并安装SSL证书。运行以下命令:

1
2
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
#sudo certbot --apache -d yourdomain.com -d www.yourdomain.com # Apache 可使用此命令

记得将 yourdomain.com 替换为你的实际域名。

执行此命令, Certbot 将执行以下操作:

  • 自动检测你的 Nginx 配置。
  • 提示你验证对域名的所有权(通过请求域名 HTTP 站点)。
  • 获取 Let’s Encrypt 的 SSL 证书。
  • 自动修改 Nginx 配置文件,以使用新的 SSL 证书和密钥。
  • 重新加载 Nginx 以应用更改。
  • 加入定时更新证书的系统任务。

CentOS 下 Nginx 部署免费SSL安全证书 Let's Encrypt (certbot)

此文档已过时,点击这里阅读新文档

关于Let’s Encrypt

Let’s Encrypt 是一个免费、开放,自动化的证书颁发机构,由 ISRG(Internet Security Research Group)运作。

兼容性: Let’s Encrypt 已经得了 IdenTrust 的交叉签名,这意味着其证书现在已经可以被所有主流的浏览器所信任,包括从IE6-IE11,其它现代浏览器更没话说,100%放心使用。

申请频率限制

注册IP限制:每IP每3个小时不超过10次

域名数量限制:每个域名(包含子域名)每7天不超过5个

证书位置

所有版本已申请的证书放在 /etc/letsencrypt/archive下,/etc/letsencrypt/live是指向最新版本的符号链接。web server中关于证书的配置建议指向 live 目录下的文件,以免证书更新后还需要更改配置。

每个域名一个目录,主要包含以下几个文件:

  • cert.pem 申请的服务器证书文件
  • privkey.pem 服务器证书对应的私钥
  • chain.pem 除服务器证书外,浏览器解析所需的其他全部证书,比如根证书和中间证书
  • fullchain.pem 包含服务器证书的全部证书链文件

证书更新

阅读更多