让网站成为 HTTPS 安全站点

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证书,并自动续期。

  1. 进入Certbot官网,并选择你的系统和软件。我这边是 NginxUbuntu 16.04 (xenial)

  2. 选择好之后,就会出现具体的部署教程,如下图

安装

先安装python-certbot-nginx

1
2
3
4
5
$ 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插件,运行它,按照提示一步一步操作就会自动帮你把证书部署好。

运行如下命令

1
$ sudo certbot --nginx

选择你要激活 HTTPS 的域名,输入序号即可

选择直接通过 HTTPS 访问并删除 HTTP 的方式,或者保留 HTTP,如何你确定你网站中所有的链接都是按照HTTPS来配置的,那么你可以像我这样选择 2。

之后,看到Congratulations!就表示部署成功了。

自动续期

由于Let的加密证书的有效期是90天,90 天之后证书就会过期,如果要续期就要重复一次上面的步骤,这太麻烦了,Certbot提供了一个自动续期的功能,只需运行如下命令即可:

1
$ sudo certbot renew --dry-run

至此,SSL证书的部署和自动续期的配置就完成,你的网站就不再是无证驾驶了。

  • 本文作者: www
  • 本文链接: https://weiweiblog.cn/https/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!