在本教程中,我们将向您展示如何在您的 CentOS 6 服务器上使用 Nginx 安装和配置 LetsEncrypt SSL。 对于那些不知道的人,LetsEncrypt 是一个免费的开放证书颁发机构 (CA),它为网站和其他服务提供免费证书。 该服务由电子前沿基金会、Mozilla、Cisco Systems 和 Akamai 提供支持。 不幸的是,LetsEncrypt.org 证书目前的有效期为 3 个月。 这意味着您现在需要每季度更新一次证书。
本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单。 我将向您展示如何在 CentOS 6 中逐步安装 LetsEncrypt SSL。
先决条件
- 运行以下操作系统之一的服务器:CentOS 6。
- 建议您使用全新的操作系统安装来防止任何潜在问题。
- 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
- 一种
non-root sudo user
或访问root user
. 我们建议充当non-root sudo user
,但是,如果您在充当 root 时不小心,可能会损害您的系统。
在 CentOS 6 上使用 Nginx 安装 LetsEncrypt SSL
步骤 1. 首先,您需要在您的系统上启用 EPEL 存储库,并首先确保您的系统是最新的。
yum install epel-release yum -y update yum -y install git python-tools python-pip
步骤 2. 安装 LEMP 服务器。
需要 CentOS 6 LEMP 服务器。 如果您没有安装 LEMP,您可以在此处按照我们的指南进行操作。
步骤 3. 安装 LetsEncrypt SSL。
将 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 配置证书。
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 服务器上安装证书。 Nginx 网络服务器的示例配置如下:
nginx -t service nginx restart
您的配置并重新启动 Nginx 网络服务器:
在 CentOS 6 上使用 Nginx 安装 LetsEncrypt SSL 恭喜! 您已成功安装 LetsEncrypt SSL。 感谢您使用本教程在您的 CentOS 6 系统上使用 Nginx 安装 LetsEncrypt SSL。 如需更多帮助或有用信息,我们建议您查看LetsEncrypt SSL 官方网站
.