免费的 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 发行版也可以使用。
本文为原创文章,版权归主机之家测评所有,欢迎分享本文,转载请保留出处!