使用 Let’s Encrypt 将 nginx 升级至 htt
本文介绍如何使用 Let's Encrypt 将 Nginx 升级至 Https。
环境
- Nginx : 1.12.1
- Linux:CentOS 6.9,64位
- Certbot : Let's Encrypt 的证书安装工具,可根据操作系统与服务器进行选择。
步骤
一 安装 Certbot
1. 安装Certbot,建议安装至Nginx目录下,会多次用到该工具。
① wget https://dl.eff.org/certbot-auto
② chmod a+x certbot-auto
二 配置 Nginx 的 Config 文件
需要配置 Nginx 的 Config 文件,使其满足接下来使用指令的验证。所以先改了,等证书到手后,修改回来就行。
例如打算为域名 test.xu.cn 添加SSL证书,则在nginx的配置文件下修改如下黑体部分:
nginx.conf:
server {
listen 80;
server_name test.xu.cn;
root ./html/xu/;
......
location ~/.well-known{
allow all;
}
}
root 所配置的目录需对应上,全部完成后让 Nginx 重载配置。
三 使用 Certbot 生成证书
完成上述步骤后,则使用 Certbot 工具生成证书。
./certbot-auto certonly --webroot -w html/xu/ -d test.xu.cn
需注意加黑部分需按实际情况填写,和步骤二中的配置文件一致。
如一切顺利,则会出现如下界面,需留意红框内两个文件路径:
四 将证书信息添加至 Nginx 配置文件内
将步骤三生成的证书地址添加进Nginx的配置文件内:
server {
listen 443
......
ssl; server_name test.xu.cn;
ssl_certificate /etc/letsencrypt/live/ test.xu.cn/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ test.xu.cn/privkey.pem;
}
配置完成后,再次重启Nginx,即大功告成。