65.9K
CodeProject 正在变化。 阅读更多。
Home

如何在 Nginx 中安装 Let's Encrypt 并自动化续订

starIconstarIconstarIconstarIconstarIcon

5.00/5 (4投票s)

2018年1月23日

CPOL

3分钟阅读

viewsIcon

11118

你想保护你的 nginx 服务器吗? 你想防止 Google Chrome 浏览器对你的非 SSL 域名进行警告吗? 这是一个完美的,而且容易遵循的指南来帮助你。

没有介绍,让我们开始吧

我认为你们不需要任何关于 SSL 证书、NGINX 和 Linux 操作系统的介绍。 所以为什么要把时间浪费在对它们的含义和工作方式的半解释上呢。

但在你开始按照步骤操作之前,有一些先决条件

  1. 你的服务器必须安装 ubuntu 16.04 LTS14.04 也能完美工作。
  2. 你必须已经注册了一个域名,并且它应该指向你的服务器的域名服务器。
  3. 你的 www.domain 和 non-www.domain(我的意思只是域名)都应该正确地指向你的服务器,这是必要的。
  4. 你必须已经安装并运行了 NGINX。 在进行任何修改之前,最好先检查 NGINX 的状态。 为此,你可以使用
    nginx -t or service nginx configtest

我将要遵循的过程 - 简单,只需复制和粘贴

  1. 我将向你展示如何安装 Certbot
  2. 配置 Nginx 服务器块。 建议为每个新域名创建新的服务器块文件
  3. 在服务器上安装 Letsencrypt SSL
  4. 自动化 SSL 证书续订过程

如果你使用像 WordPress 这样的 CMS,那么你可以使用 EasyEngine 自动安装 NGINX,并带有 Fast-CGI Cache,InnoDB,PHP 7.2,zendopcache 和 Letsencrypt。

使用 easyengine,安装 SSL 就像输入一个命令,这是一个例子

sudo ee site update yourdomainname.com --letsencrypt

如果你有兴趣,你可以阅读这篇关于 如何在 digitalocean 上轻松安装 wordpress 的指南。

在你开始按照以下步骤操作之前,你必须首先登录到你的服务器。 然后使用 root 权限。 使用 sudo su 命令。

步骤 1:安装 Certbot

现在你已经以 root 权限连接到你的服务器了!

将此命令复制并粘贴到你的终端

add-apt-repository ppa:certbot/certbot

sudo apt-get update

现在,你必须安装 certbot nginx 配置文件包。 为此,我们将使用以下命令

apt-get install python-certbot-ngin

步骤 2:配置 Nginx

为了使 certbot 正常且自动工作,你需要正确定义服务器块。

为此,你需要编辑默认的服务器块。 我将使用 nano 来编辑默认配置,因为它很容易,而且是我最喜欢的。 复制并粘贴以下命令。 此命令只有在你有一个新服务器时才有效。

nano /etc/nginx/sites-available/default

现在使用 Ctrl+w 查找 server_name

然后,添加你的网站域名。 完整的句子应该如下所示

server_name your-domain-name.com www.your-domain-name.com;

现在按 ctrl+x,然后按 enter 保存你的新配置。

要测试 nginx 是否没有问题,请使用 nginx -t 命令。 如果一切似乎都正确,只需使用 systemctl reload nginx 命令重新加载 nginx。

步骤 3:安装 LetsEncrypt SSL

如果你正确地按照了以上所有步骤,你应该只需一个命令即可在你的服务器上安装 SSL 证书。

certbot --nginx -d your-domain-name.com -d www.your-domain-name.com

现在按 2 以自动将非 https 请求重定向到 https 页面。 在安装过程中,系统会要求你提供姓名和电子邮件地址。 提供正确的信息。

恭喜你,现在你的 NGINX 服务器(域名)已经有 SSL 了。

步骤 4:检查自动续订过程

这是最后一步,实际上,它不是必需的,但最好总是测试一下。

我们将使用 certbot renew --dry-run 来检查自动续订过程是否正常工作。

希望不会有任何错误,并且 certbot 会自动重新加载你的 nginx 以加载新的配置。

© . All rights reserved.