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 中, 提供了身份验证与加密通讯方法. 现在它被广泛用于万维网上安全敏感的通讯, 例如交易支付方面.
简而言之, 就是让你的网站有下图这个小绿标:
image
之前用过阿里云的 SSL 免费证书, 但是期限只有一年, 昨天过期了, 看了其他收费的 SSL 证书, 还是很贵的, 在读小硕实在买不起, 只能找找免费的 SSL 证书了.
我们可以从 Let's Encrypt 获得网站域名的免费的证书.Certbot https://certbot.eff.org/ 是 Let's Encrypt 推出的获取证书的客户端, 可以让我们免费快速地获取 Let's Encrypt 证书.
下面, 一步一步教你申请部署 ssl 证书, 并自动续期.
进入 Certbot https://certbot.eff.org/ 官网, 并选择你的系统和软件. 我这边是 Nginx 和 Ubuntu 16.04 (xenial).
image
选择好之后, 就会出现具体的部署教程, 如下图
image
安装
先安装 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 的域名, 输入序号即可
image
选择直接通过 HTTPS 访问并删除 HTTP 的方式, 或者保留 HTTP, 如何你确定你网站中所有的链接都是按照 HTTPS 来配置的, 那么你可以像我这样选择 2.
image
之后, 看到 Congratulations! 就表示部署成功了.
image
自动续期
由于 Let 的加密证书的有效期是 90 天, 90 天之后证书就会过期, 如果要续期就要重复一次上面的步骤, 这太麻烦了, Certbot 提供了一个自动续期的功能, 只需运行如下命令即可:
$ sudo certbot renew --dry-run
至此, SSL 证书的部署和自动续期的配置就完成, 你的网站就不再是无证驾驶了.
来源: http://www.jianshu.com/p/aed1741f096e