本文首发于我的个人博客:尾尾部落
HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
简而言之,就是让你的网站有下图这个小绿标:
之前用过阿里云的 SSL 免费证书,但是期限只有一年,昨天过期了,看了其他收费的 SSL 证书,还是很贵的,在读小硕实在买不起,只能找找免费的 SSL 证书了。
我们可以从 Let’s Encrypt 获得网站域名的免费的证书。 Certbot是Let’s Encrypt推出的获取证书的客户端,可以让我们免费快速地获取Let’s Encrypt证书。
下面,一步一步教你申请部署ssl证书,并自动续期。
-
进入Certbot官网,并选择你的系统和软件。我这边是
Nginx
和Ubuntu 16.04 (xenial)
。 -
选择好之后,就会出现具体的部署教程,如下图
安装
先安装python-certbot-nginx
$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx
开始
certbot有一个Nginx插件,运行它,按照提示一步一步操作就会自动帮你把证书部署好。
运行如下命令
$ sudo certbot --nginx
选择你要激活 HTTPS 的域名,输入序号即可
选择直接通过 HTTPS 访问并删除 HTTP 的方式,或者保留 HTTP,如何你确定你网站中所有的链接都是按照HTTPS来配置的,那么你可以像我这样选择 2。
之后,看到Congratulations!就表示部署成功了。
自动续期
由于Let的加密证书的有效期是90天,90 天之后证书就会过期,如果要续期就要重复一次上面的步骤,这太麻烦了,Certbot提供了一个自动续期的功能,只需运行如下命令即可:
$ sudo certbot renew --dry-run
至此,SSL证书的部署和自动续期的配置就完成,你的网站就不再是无证驾驶了。