一、前言python
最近,有同事咨询我,怎么样使用Let's Encrypted部署数字证书,因而,结合本身以前的实践,简单总结下。nginx
二、HTTPS的优点web
什么加密,防篡改,防广告植入什么的,这个就很少说了。这里我只说一个我感受最近解决我大问题的优点。以前腾讯云申请了个域名,guokun.net.cn,暂时本案流程还没走完,毕竟你知道的,国内域名备案,那叫一个繁琐。因此,假如你直接在浏览器中输入guokun.net.cn ,效果以下:centos
看到没有,直接被腾讯云给拦截访问了。那么假如我https://guokun.net.cn呢?浏览器
我想,腾讯云拦截域名的方式,可能跟不少网络运营商劫持植入广告的方式是同样的,因此http的流量它劫持到了,可是https没有。这个功效,只可意会,不可描述与多说。服务器
三、配置过程网络
letsencrypt是一个CA,它跟什么沃通啊,微软啊这些证书认证机构都是同样的,用于给站点颁发证书,无非就是letsencrypt的证书免费。咱们使用letsencrypt来获取证书,那天然就须要letsencrypt的客户端。官方推荐certbot,那这里我也就使用它了。ui
因为个人服务器是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为例:spa
$ sudo yum install python2-certbot-nginx
以后,就能够下载证书了:
$ sudo certbot --nginx
这个命令执行过程当中,会询问你须要部署证书的域名,按照本身须要输入就能够了。
以guokun.net.cn为例,个人证书整好以后,就放在下图中这个位置:
接下来,配置站点采用这个证书。在对应Nginx配置文件中,增长以下配置:
而后,重载Nginx,就能够了。
四、参考文献
https://certbot.eff.org/lets-encrypt/centosrhel7-nginx