Let’s Encrypt是一个提供免费SSL/TLS证书的证书颁发机构(CA),可以免费获得域名的有效SSL证书。这些证书也可用于生产使用。只能从指向域的服务器请求证书。Let’s Encrypt对域进行DNS检查,该域指向当前服务器。之后,它会颁发证书。本篇文章将介绍关于在Ubuntu系统上安装Let’s Encrypt客户端,并为该域颁发SSL证书。
步骤1:先决条件
在开始完成此任务之前,假设已经有:
使用sudo权限shell访问运行Ubuntu系统。域名已注册并指向服务器的公共IP地址。在本篇文章中,我们使用example.com和
www.example.com,它指向我们的服务器。在端口80上运行配置了virtualhost(例如.com)和www.example.com的Web服务器。步骤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:获取SSL证书
Let’s Encrypt自动执行强域验证,并验证域的所有权。证书颁发机构(CA)验证域的真实性后,将颁发SSL证书。
$ sudo certbot-auto certonly --standalone -d example.com -d www.example.com
上面的命令将提示输入电子邮件地址,该地址用于发送与SSL续订和到期相关的电子邮件警报。另外,还有一些问题。完成后,它将发出SSL证书,并在你的系统上创建一个新的虚拟主机配置文件。
步骤4:检查SSL证书
如果一切顺利的话。将在下面的位置发布新的SSL。导航到下面的目录并查看文件。
cd /etc/letsencrypt/live/example.com ls
文件列表:
cert.pem chain.pem fullchain.pem privkey.pem
步骤5:配置SSL虚拟主机
对Apache和Nginx Web服务器使用以下配置。编辑虚拟主机配置文件并添加以下证书条目。
Nginx:
ssl on; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
Apache:
SSLEngine on SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/example.com/chain.pem
步骤6:配置SSL自动续订
最后,在服务器crontab上配置以下作业,以便在需要时自动续订SSL证书。
0 2 * * * sudo /usr/sbin/certbot-auto -q renew
本篇文章到这里就已经全部结束了,更多其他精彩内容大家可以关注PHP中文网的Linux视频教程栏目!!!
以上是如何在Ubuntu 18.04和16.04 LTS上设置Let’s Encrypt SSL的详细内容。更多信息请关注PHP中文网其他相关文章!