HTTPS(HTTP Secure)顾名思义,就是安全的 HTTP 协议,用于在不安全的网络中加密通信,验证服务器是否可以被信任,避免数据在传输过程中被截获篡改。通常用于涉及到隐私、机密信息的场合,例如注册、登录、支付以及搜索等。

据 Google 统计,2019 年 1 月全球排名前 100 的网站中,100% 都支持 HTTPS,他们的流量占据了全球所有流量的 25%。而各大搜索引擎也把是否支持安全连接作为排序权重的参考。由此可见网络安全性的重要,以及普及的趋势。

所以,为了紧跟时代的步伐,我的博客也把支持 HTTPS 加入了升级计划列表,不仅能提高安全性,还能提升逼格。可是一直没能实施,原因主要是穷和懒。直到我发现了 Cerbot,并用上班的午休时间就完成了全站 HTTPS,前后不到 10 分钟。注意到地址左边的小锁了吗?

关于 Cerbot

Cerbot 完美的解决了导致我的博客迟迟不支持 HTTPS 的 2 个问题:穷、懒。

  • 穷:免费。
  • 懒:只要你会使用命令行,那么抄作业就行了。

Cerbot 是一款开源的软件工具,可以自动使用 Let’s Encrypt 提供的 TLS 证书来启用 HTTPS。

超简单 8 步走启用 HTTPS

如果遇到问题,可以查看文末的 FAQ,或者在评论区留言,或 Email 我,我会尽力解答~

第一步

打开 Get Cerbot instrctions

第二步

选择所使用的 HTTP 服务器,和操作系统,以 Apache + Ubuntu 18.04 LTS 为例。

第三步

SSH 连接你的服务器,当然你需要有管理员权限。

第四步

添加 Cerbot 的软件库(PPA):

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

第五步

安装 Cerbot 及 Apache 相关依赖:

sudo apt-get install certbot python3-certbot-apache

第六步

安装证书,并自动配置 Apache:

sudo apt-get install certbot python3-certbot-apache

第七步

重启 Apache:

sudo service apache2 restart

结束!

我的意思是,一切顺利的话…

你可能会遇到以下问题

Q1:

No names were found in your configuration files. Please enter in your domain name(s) (comma and/or space separated)  (Enter ‘c’ to cancel):

这是因为 HTTP 服务器的配置中 Servername 字段未配置,遇到这句话输入自己的域名即可,多个域名用英文半角逗号 "," 或空格 " " 分开。

Q2:

自动配置完成后,无法访问网站。

请检查自动生成或修改的配置文件。

或者可能… 你的服务器没有打开 443 端口 :)

Q3:

自动配置完成后,用 https 协议打开网站,地址左边没有小锁,而是显示不安全。

请检查你的代码,或者网站后台的资源配置。这是由于没有全站使用 https 导致的,你可以通过 F12 查看开发者工具的网络信息,来具体查看哪些资源没有使用 https 协议。