如何配置Let's Encrypt SSL证书

Web进行安全通信依赖于HTTPS,这需要使用数字证书,以便浏览器验证Web服务器的身份,比如说,google.com是真的吗

3 min read
By myfreax
如何配置Let's Encrypt SSL证书

Web进行安全通信依赖于HTTPS,这需要使用数字证书,以便浏览器验证Web服务器的身份,比如说,google.com是真的吗。

Web服务器从证书颁发机构,即CA可信第三方。获取其证书以验证域名真实性。 Let's Encrypt是一个开放的证书颁发机构。

Certbot是一个易于使用的客户端,它由EFF,Mozilla和开源组织发起。可以从Let's Encrypt获取证书,并将其部署到Web服务器。

在本教程中我们将讨论如何使用Certbot工具为自己的HTTP服务器,站点配置HTTPS的SSL证书。

你登录服务器的用户必须具有root或者sudo权限。需要有线上服务器,可以是vps等独立主机。

一个可指向你服务器的域名,比如在这个示例将使用www.myfreax.com。可通过域名的方式访问你的HTTP服务。如果你还没有安装HTTP服务器,可以参考此教程安装Nginx

如果要在基于Debian的Linux发行版,例如Ubuntu,Linux mint等发行版上安装CertBot,请首先使用apt软件包管理器更新索引运行sudo apt-get update

Ubuntu/Debian官方的默认镜像中并不包含Certbot,我们需要将Certbot的PPA添加到系统,使用add-apt-repository命令

sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install certbot python-certbot-nginx
#sudo apt-get install certbot python-certbot-apache

要在基于Redhat的Linux发行版,例如CentOS和Fedora等发行版安装CertBot。您需要使用yum命令

由于发行版的软件包管理器的不同,要在Feaora/CentOS7/RedHat7安装CertBot则需要开启EPEL仓库

sudo yum install epel-release
sudo yum install certbot python2-certbot-nginx
#sudo yum install certbot python2-certbot-apache

配置SSL证书

配置SSL证书非常简单,运行命令sudo certbot --nginx -d www.myfreax.com获取证书并让Certbot自动编辑您的Nginx配置,只需一步就可以启用HTTPS SSL的证书。

如果你使用的Apache作为HTTP的服务,请运行命令sudo certbot --apache -d www.myfreax.comCertbot也将会自动编辑你的Apache配置,以启用HTTPS SSL证书。

如果是首次运行CertBot获取SSL证书,它将会询问你的电子邮件,输入一个你常用的邮件地址,它会在到期之前通知你。

同意CertBot协议,是否将HTTP重定向到HTTPS。

在提示是Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): 输入你的电子邮件。

(A)gree/(C)ancel: a 同意协议,(Y)es/(N)o: y 询问是否需要接收提醒邮件。

Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2 询问是否要重定向http的连接,选择2重定向。

最后你将会看到配置成功的提示Congratulations! You have successfully enabled https://www.myfreax.com

自动更新SSL证书

Let's Encrypt的SSL证书会在3个月到期,因此你可能需要手动续订,但Certbot软件附带一个cron任务和systemd计时器,它将在证书过期之前进行自动续订。

以简化我们的工作。 除非你更改配置,否则无需再次手动运行Certbot。 您可以尝试运行sudo certbot renew --dry-run命令来测试证书的自动续订。

要确认您的网站设置正确,请在浏览器中访问https://www.myfreax.com/,然后在网址栏中查找到锁图标。