免费SSL 证书:Ubuntu18.04和16.04LTS使用Let’s Encrypt给nginx安装ssl

免费的SSL证书有很多,比如阿里云免费SSL证书,腾讯云SSL证书,不过很多都是一年的有效期,而且需要申请之后之后需要下载SSL证书并上传到VPS主机进行安装配置才行。

另外一个比较热门的免费SSL证书就是 let’s encrypt提供的。

下面我就说下在 Ubuntu 系统上安装 let’s encrypt 客户端,并为在 Nginx Web 服务器上运行的域颁发 SSL 证书。

步骤 1:先决条件,解析了域名

在开始执行此任务之前,我假设已经:

使用 sudo 权限 shell 访问运行的 Ubuntu 系统,域名已注册并指向服务器的公共 IP 地址。对于本篇文章我们使用 example.com 和 www.example.com,它指向我们的服务器,运行 nginx web 服务器,并为端口 80 配置 virtualhost(例如.com)和 www.example.com。

步骤 2:安装 let’s encrypt 客户端

可以下载 certbot auto-let’s encrypt 客户端并将其保存在/usr/sbin 目录中。请使用以下命令执行此操作。

$ sudo wget https://dl.eff.org/certbot-auto -O /usr/sbin/certbot-auto
$ sudo chmod a+x /usr/sbin/certbot-auto

步骤 3:为 nginx 发布 ssl

let’s encrypt 在多个挑战中自动执行域验证(DV)。一旦证书颁发机构(CA)验证了您的域的真实性,将颁发 SSL 证书。

不需要为 ssl/https 创建 virtualhost,我们 let’s encrypt 来创建它。只需要为端口 80 创建虚拟主机。

$ sudo certbot-auto --nginx -d example.com  -d www.example.com

上面的命令将提示输入电子邮件地址,该地址用于发送与 SSL 续订和到期相关的电子邮件警报。另外,还有几个问题。完成后,它将颁发一个 SSL 证书,并在你的系统上创建一个新的虚拟主机配置文件。

步骤 4:配置 SSL 自动续订

最后,在服务器 crontab 上配置以下命令,以便在需要时自动续订 SSL 证书。

0 2 * * * sudo /usr/sbin/certbot-auto -q renew

当然,如果你是使用的军哥LNMP一键安装包,是可以使用lnmp内置的let’s encrypt工具,在创建虚拟机的时候直接申请SSL证书,并自动续期。

当然,不仅限于,其他linux发行版也可以使用。

广告栏+++++++蜜糖商店|大哥云| 搬瓦工JMS|红莓网络| Mielink|萌喵加速| 飞鸟云

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注