如何在 Ubuntu 15.04 上使用 Nginx 安装 LetsEncrypt

在本教程中,我们将向您展示如何在您的 Ubuntu 15.04 服务器上使用 Nginx 安装和配置 LetsEncrypt。 对于那些不知道的人,Let’s Encrypt 是一个免费的 SSL 证书提供商,由主要公司和组织提供支持,它提供了一个免费、开放和自动化的系统,可以轻松地将基于 SSL/TLS 的加密添加到网站。 不幸的是,LetsEncrypt.org 证书目前的有效期为 3 个月。 这意味着您现在需要每季度更新一次证书。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单。 我将向您展示在 Ubuntu 15.04 中逐步安装 LetsEncrypt SSL。

先决条件

  • 运行以下操作系统之一的服务器:Ubuntu 15.04。
  • 建议您使用全新的操作系统安装来防止任何潜在问题。
  • 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
  • 一种 non-root sudo user或访问 root user. 我们建议充当 non-root sudo user,但是,如果您在充当 root 时不小心,可能会损害您的系统。

在 Ubuntu 15.04 上使用 Nginx 安装 LetsEncrypt

步骤 1. 首先,通过运行以下命令确保所有系统包都是最新的 apt-get 终端中的命令。

sudo apt-get update sudo apt-get upgrade

步骤 2. 安装 LEMP 服务器。

需要 Ubuntu 15.04 LEMP 服务器。 如果您没有安装 LEMP,您可以在此处按照我们的指南进行操作。

步骤 3. 安装 LetsEncrypt。

将 LetsEncrypt git 项目克隆到您的服务器:

git clone https://github.com/letsencrypt/letsencrypt

然后切换到项目文件夹:

cd letsencrypt

运行以下命令为您的网站或博客生成 SSL 证书:

./letsencrypt-auto certonly -a standalone -d yourdomain.com -d www.yourdomain.com

假设你做的一切都是正确的,你应该看到:

LetsEncrypt 将其密钥放在此目录中 /etc/letsencrypt

步骤 3. 生成您的 SSL 密钥和 CSR。

首先,创建一个 SSL 目录来托管您的 SSL 证书。

mkdir /etc/nginx/ssl cd /etc/nginx/ssl

然后按照以下步骤生成服务器密钥、证书签名请求和自签名证书。 如果您想从受信任的证书颁发机构安装受信任的证书,则需要将 CSR 的副本发送到证书颁发机构以生成受信任的证书。

创建服务器私钥,运行以下命令:

openssl genrsa -des3 -out server.key 2048

然后运行以下命令生成证书签名请求密钥,使用服务器私钥创建 SSL 证书:

openssl req -new -key server.key -out server.csr

运行上述命令时,系统会提示您回答几个问题。 请遵循以下简单指南:

  • 通用名称:您要保护的完全限定域名或 URL。
    如果您要申请通配符证书,请添加星号
  • 在需要通配符的公用名左侧,例如 *.idroot.us。
  • 组织:您的企业的合法注册名称。 如果您以个人身份注册,请输入证书申请者的姓名。
  • 组织单位:如果适用,请输入 DBA(经商身份)名称。 如果您要保护单个博客,请在此处输入博客所有者的姓名。
  • 城市或地区:您的组织注册/所在城市的名称。
  • 州或省:您的组织所在的州或省的名称。

国家/地区:您的组织在哪里合法注册的两个字母的国际标准化组织 (ISO) 格式的国家/地区代码。

步骤 4. 配置 Nginx 以使用 SSL 证书。

listen 443 ssl spdy; listen [::]:443 ssl spdy; ssl on; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; # # ssl_session_cache shared:SSL:10m; ssl_protocols TLSv1.1 TLSv1.2; # # ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!:!DES:!RC4:!3DES:!MD5:!PSK'; # # ssl_prefer_server_ciphers on; add_header Strict-Transport-Security max-age=15768000; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=86400; resolver_timeout 10;

Save 现在我们需要配置 NGINX 以接受我们的证书并将我们的非 HTTPS 请求重定向到 HTTPS。 Nginx 网络服务器的示例配置如下:

nginx -t systemctl restart nginx

您的配置并重新启动 Nginx 网络服务器:

在 Ubuntu 15.04 上使用 Nginx 安装 LetsEncrypt

在 Ubuntu 15.04 上使用 Nginx 安装 LetsEncrypt 恭喜! 您已成功安装 LetsEncrypt。 感谢您使用本教程在您的 Ubuntu 15.04 系统上使用 Nginx 安装 LetsEncrypt SSL。 如需更多帮助或有用信息,我们建议您查看LetsEncrypt SSL 官方网站

.