Skip to main content

用CERTBOT维护免费的SSL/TLS证书

什么是SSL证书?

SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。

SSL证书通过在客户端浏览器和web浏览器之间建立一条SSL安全通道(Secure socket layer(SSL),对传送的数据进行加密和隐藏;确保数据在传送中不被改变,保证数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了,即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露,保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。

其实SSL证书由浏览器中“受信任的根证书颁发机构”在验证服务器身份后颁发,具有网站身份验证和加密传输双重功能。

国内很多证书颁发机构都是收费的,并且价格不菲且一部分供应商手续较为复杂。对于轻型应用和个人应用来说,Let‘s Encrypt是一个我非常推荐的非盈利证书颁发机构。对,完全免费!而且通过CertBot的自动化流程,整个证书配置流程非常简单,并且可以编写证书自动续期脚本来完成网站SSL证书的完全自动化。

安装CertBot

首先需要安装Snapd,根据你的操作系统确定Snap版本,具体可以在snapcraft.io中找到对应的源,一下为CentOS 7的例子:

Bash
sudo rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo subscription-manager repos --enable "rhel-*-optional-rpms" --enable "rhel-*-extras-rpms"
sudo yum update

sudo yum install snapd

在配置sudo certbot –nginx的过程中CertBot会自动检测Nginx中已经托管的网站,并提供为哪些网站配置证书的选项。直接回车为全选,请阅读CertBot的提示。配置完成后CertBot会更新当前的nginx.conf配置文件。完成后重启Nginx服务。

测试自动续签证书:

Bash
sudo certbot renew --dry-run

接下来用Https://来访问你的网站吧。

冲浪愉快!

CertBot, Let‘s Encrypt, Nginx, SSL, Web Tech