HTTPS是一种更安全的访问网页的方式。简单介绍一下使用Let’s Encrypt来配置HTTPS。
HTTPS中关键的是其中的证书。证书的一个重要的前提,是需要通过国际公认的证书证书认证机构(简称CA,Certificate Authority)申请。当然可以自己生成证书而不通过CA(自己充当CA),但是这样生成的证书无法在其他人的浏览器中正常通过,会提示证书不可信。于是当前的目标便是找到一个获得免费证书的方式。而Let’s Encrypt就能提供这样的免费证书。
Let’s Encrypt[^1]是一个于2015年三季度推出的数字证书认证机构,旨在以自动化流程消除手动创建和安装证书的复杂流程,并推广使万维网服务器的加密连接无所不在,为安全网站提供免费的SSL/TLS证书[^2]。
官方推荐使用一个叫做 Certbot 的工具来自动化部署。访问Certbot的官方页面,选择对应的服务器应用和系统后,根据提示安装。此处选择了在CentOS 7的Nginx上安装,页面提示的操作是:
1 | # 终端中运行 |
而后在终端中执行:
1 | # 如果你的服务器正在对外提供服务,当前不能重启的话,执行如下命令: |
中间过程中可以选择是否开启HTTP访问的自动跳转。如果开启后,用户访问HTTP的域名时,服务器会自动重定向到 HTTPS。建议开启。
一切执行完之后,证书已经正确部署了。可以尝试访问HTTPS的域名看看。
Let’s Encrypt的证书虽然免费,不过也有一个小小的弊端:证书需要3个月(90天)重新更新一下。同样的,这个动作可以使用Certbot来操作。同时还可以通过crontab来定时自动调用Certbot,完成自动更新:
1 | # 更新方式 |
[^1]: Let’s Encrypt 官方 about 页面 https://letsencrypt.org/about/
[^2]: 来自 Wikipedia Let’s Encrypt 词条 https://zh.wikipedia.org/wiki/Let%27s_Encrypt