代码改变世界

Let’s Encrypt 最近很火的免费SSL 使用教程

2017-02-02 00:59  游乐场123  阅读(2419)  评论(0编辑  收藏  举报

2015年10月份,微博上偶然看到Let's Encrypt 推出了beta版,作为一个曾经被https虐出血的码农来说,这无疑是一个重磅消息。并且在全站Https的大趋势下,Let's Encrypt 脱颖而出,无疑会对传统SSL证书提供商造成不小的打击,并将Https的应用和推广上升到一个空前火热的阶段。

Let’s Encrypt是由ISRG(Internet Security Research Group)提供的免费SSL项目,现由Linux基金会托管,他的来头很大,由Mozilla、思科、Akamai、IdenTrust和EFF等组织发起,现在已经得到Google、Facebook等大公司的支持和赞助,目的就是向网站免费签发和管理证书,并且通过其自身的自动化过程,消除了购买、安装证书的复杂性,只需几行命令,就可以完成证书的生成并投入使用,甚至十几分钟就可以让自己的http站点华丽转变成Https站点。

Let's Encrypt背后的力量

下面从实战的角度,为大家详细地介绍Let's Encrypt的使用过程

1、安装Let's Encrypt

第一步:执行以下命令

 git clone https://github.com/letsencrypt/letsencrypt
 cd letsencrypt
 ./letsencrypt-auto certonly --email xxx@xx.com 
   

提示:

1、如果提示git命令无效的话,需要安装一下GIt,直接执行命令 yum install git-all 完成安装,

2、如果是RedHat/CentOs6系统的话,需要提前安装EPEL( Extra Packages for Enterprise Linux ),执行命令  yum install epel-release

3、 整个过程需要主机连接外网,否则会导致报以下错误

IMPORTANT NOTES:     
 - The following errors were reported by the server:         
   Domain: on-img.com        
   Type:   urn:acme:error:connection
   Detail: Failed to connect to host for DVSNI challenge         

   Domain: www.on-img.com        
   Type:   urn:acme:error:connection        
   Detail: Failed to connect to host for DVSNI challenge

4、Let's encrypt 是由python编写的开源项目,基于python2.7环境,如果系统安装的是python2.6,会提示升级

也可以执行以下命令(官方不推荐) ./letsencrypt-auto certonly --email xxx@xx.com --debug

第二步:接下来提示输入域名 多个用空格隔开

出现以下提示说明证书生成成功

2、使用证书

进入/etc/letsencrypt/live/on-img.com/下,on-img.com是第二部中填写的域名,到时候换成自己的域名即可。

cert.pem 服务器证书

privkey.pem 是证书私钥

如果是云服务器+负载均衡的话,直接添加以上证书,绑定负载均衡,直接访问https:// xxx.com

如果是自己配置的Nginx的,需要以下配置

server
{
listen 443 ssl;   /
server_name xxx.com;     //这里是你的域名
index index.html index.htm index.php default.html default.htm default.php;
root /opt/wwwroot/        //网站目录
ssl_certificate /etc/letsencrypt/live/xxx.com/fullchain.pem;    //前面生成的证书,改一下里面的域名就行,不建议更换路径
ssl_certificate_key /etc/letsencrypt/live/xxx.com/privkey.pem;   //前面生成的密钥,改一下里面的域名就行,不建议更换路径 
........
}