详解Nginx 部署的虚拟主机使用 Let's Encrypt 加密 https的方法
HTTPS 是现在网站的标配了,很多服务都是必须使用 https,如果你不使用的话,浏览器可能就不会对你非常友好了。
如果你不想使用商业的 CA 秘钥的话,你可以使用 Let’s Encrypt 来进行加密。
使用 Let’s Encrypt 唯一不好的地方就是每 3 个月要更新一次,当然你也可以使用自动的更新来处理就好了。
我们需要通过安装插件来实现:
- 获得 SSL 加密需要的 pem 秘钥。
- 设置 certbot 能自动更新秘钥。
需要前提条件
已经安装好了 Nginx并且配置好了虚拟主机
安装好python3-certbot-nginx
插件
对 Nginx 虚拟主机的配置方法我们就不详细说了,你可以自己搜索下进行配置。
安装 python3-certbot-nginx 插件
安装的命令非常简单:
执行下面的命令就可以了:sudo dnf install python3-certbot-nginx
需要注意的是,我们这个命令是带有 nginx 插件的。
还有一个官方的是不带有插件的,不建议装那个,因为非常不好配。
获得 pem 秘钥
运行下面的命令sudo certbot certonly --nginx
,需要后面添加 nginx 参数才可以了。
通过下面的寂寞我们可以看到,这个工具将会检测到你的本地服务器上有几个虚拟主机。
然后你需要选择你需要的一个来进行安装。
在安装成功后,会生成我们需要的 pem 秘钥。
配置你的虚拟主机
找打你的虚拟主机文件,然后将生成的秘钥配置上去就可以了。
例如我们的虚拟主机配置:
我们首先在上面配置了 80 端口的重定向,然后将生成的 2 个秘钥文件的指定位置配置上去就行了。
然后重启 Nginx 服务器,然后检查你的网站的 HTTPS 情况。
检查网站 HTTPS 情况
可以使用一些第三方的网站来进行检查,也可以直接使用浏览器来检查。
主要看看网站有没有正常的重定向,和 SSL 证书的过期时间。
上面的证书看起来签发的是泛域名。