使用Let's Encrypted HPPTS你的网站
1、前言
最近,有同事咨询我,怎么样使用Let's Encrypted部署数字证书,于是,结合自己之前的实践,简单总结下。
2、HTTPS的优势
什么加密,防篡改,防广告植入什么的,这个就不多说了。这里我只说一个我感觉最近解决我大问题的优势。之前腾讯云申请了个域名,guokun.net.cn,暂时本案流程还没走完,毕竟你知道的,国内域名备案,那叫一个繁琐。所以,假如你直接在浏览器中输入guokun.net.cn ,效果如下:
看到没有,直接被腾讯云给拦截访问了。那么假如我https://guokun.net.cn呢?
我想,腾讯云拦截域名的方式,可能跟很多网络运营商劫持植入广告的方式是一样的,所以http的流量它劫持到了,但是https没有。这个功效,只可意会,不可描述与多说。
3、配置过程
letsencrypt是一个CA,它跟什么沃通啊,微软啊这些证书认证机构都是一样的,用于给站点颁发证书,无非就是letsencrypt的证书免费。我们使用letsencrypt来获取证书,那自然就需要letsencrypt的客户端。官方推荐certbot,那这里我也就使用它了。
由于我的服务器是centos,而Certbot默认不在官方仓库中,而在附加库EPEL 中,所以首先得启用并配置此仓库。命令如下:
$ yum -y install yum-utils $ yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
然后,就可以开始安装Certbot,我用web服务器是Nginx,所以这里也以Nginx为例:
$ sudo yum install python2-certbot-nginx
之后,就可以下载证书了:
$ sudo certbot --nginx
这个命令执行过程中,会询问你需要部署证书的域名,按照自己需要输入就可以了。
以guokun.net.cn为例,我的证书整好之后,就放在下图中这个位置:
接下来,配置站点采用这个证书。在对应Nginx配置文件中,增加如下配置:
然后,重载Nginx,就可以了。
4、参考文献
https://certbot.eff.org/lets-encrypt/centosrhel7-nginx