httpsUnix/Linux服务器技术分享程序员

用Certbot自动生成免费的Let's Encrypt

2017-11-03  本文已影响107人  茶九言

一、怎样遇到Let's Encrypt

青橘子(qjuzi.com)需要搭建一个健壮的后端,希望采用安全的HTTPS协议,多方寻找,申请过免费证书,就在要准备购买阿里代理的证书时,发现了Let's Encrypt。

二、什么是SSL证书

HTTPS是安全套接字层超文本传输协议,是为了解决HTTP协议明文方式发送内容的缺陷,使用的另一种协议。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

SSL的获取方式:1、购买第三方信任机构颁发的证书;2、根据原生协议,自己制作;3、使用开源的Let’s Encrypt。区别是可信力度,主流浏览器根授信(是否亮绿灯),比如自己制作的证书会被Chrome警告网站危险。

三、什么是Let's Encrypt

Let’s Encrypt一款免费、开源、自助生成SSL证书的程序,代码存于Github。在官网可以看到,已经有很多大厂商和互联网巨头为之担保。

certbot是 EFF (电子前哨基金会)为 Let’s Encrypt 项目发布的一个官方客户端 。利用它可以完全自动化的获取、部署和更新安全证书。

四、环境搭建及使用

  1. 登录certbot,根据自己的环境找到适合自己的安装方式,如我的是ubuntu16.04 + 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 
  1. Certbot已有了支持Nginx的插件,运行sudo certbot --nginx会扫描到nginx服务器使用的域名并根据选择自动安装。
$ root@ali:/home/qjuzi# certbot --nginx
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx

Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: v.qjuzi.com
2: wangtianya.com
3: c.wangtianya.com
4: j.wangtianya.com
5: p.wangtianya.com

3、选是否深层帮助配置的时候,我选择了No,Certbot仅仅是在Nginx配置文件里自动生成了证书的链接。

ssl_certificate /etc/letsencrypt/live/v.qjuzi.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/v.qjuzi.com/privkey.pem; # managed by Certbot

参考链接
Let’s Encrypt官网
certbot:官方提供的证书生成工具
知乎:为什么SSL证书那么贵?
博客:什么是HTTPS?为什么要购买证书?
博客: HTTPS 简介及使用官方工具 Certbot 配置 Let’s Encrypt SSL 安全证书详细教程

上一篇 下一篇

猜你喜欢

热点阅读