如何在 NGINX 服务器中安装 SSL 证书
Contents
安装 SSL 证书
这里将使用 Let's Encrypt 的客户端 Certbot 来自动化获取、部署和更新安全证书。

这里以 NGINX
和 CentOS
为例(选择符合自己的选项),登录服务器获取 Certbot:
$ wget https://dl.eff.org/certbot-auto
$ chmod a+x certbot-auto
至此 Certbot 已经安装好了,Certbot 有一个 NGINX
插件,可以自动把 SSL
证书信息自动配置到 NGINX
的配置中去:
$ sudo ./path/to/certbot-auto --nginx
当执行这个命令的时候,Certbot 会先让你输入一些信息比如邮箱、同意协议、访问 HTTP
时是否跳转 HTTPS
等等,同意之后就会自动检测 nginx.conf
下面的配置,并把所有站点配置都列出来并让你选择哪个域名开启 HTTPS
(输入列表编号,多个用空格分开):

然后到我们的 NGINX
配置中查看配置是否更新:

会发现底部多了一些标有 # managed by Certbot
的配置信息,表明 SSL 证书已经配置好了,重启一下 NGINX
就可以访问 HTTPS
协议的域名了,基本所有内容 Certbot 都自动完成了,非常简单,此时已经可以打开 HTTPS
协议的域名了:

不过 Let's Encrypt 默认有效期为 90 天,所以需要长期使用的话,就要及时更新证书,不过不用担心,Certbot 提供了非常简单的命令 renew
来更新证书,并且还会提示你证书几月几号会过期(这里是 2019-03-30
):
$ sudo /path/to/certbot-auto renew

既然是长期使用,所以当然是发布一个定时任务,vim /etc/crontab
:

上面任务表示每个月的 1 号会 renew
一次,renew
后的 5 分钟会重启一次 NGINX
服务。
总结
至此,就实现了 HTTP
到 HTTPS
的升级,且自动更新 SSL
证书以免过期。 Emmmmm... 没了