如何在Ubuntu 18.04和16.04 LTS上 配置Let’s Encrypt SSL

时间:2019-05-29 14:47:58  来源:igfitidea点击:

Let’s Encrypt 是一个提供免费SSL/TLS证书的证书颁发机构(CA)。
我们可以免费为域获得有效的SSL证书。
这些证书也可以用于生产。

本教程将在Ubuntu系统上安装Let 's encrypt客户机,并为域颁发SSL证书。

步骤1 -准备工作

在开始这个任务之前,假设:
我们有一个注册的域名并指向了服务器的公网IP。

在本教程中,我们使用example.com和www.example.com,它们指向我们的服务器 48.23.13.x。
web服务器的端口是80。

步骤2 -安装Let’s Encrypt客户端

下载Let’s Encrypt客户端 “certbot-auto”并保存在“/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