最近很火的免费SSL 使用教程

怪狗 2016-7-29 HACK 0 0

         最近很火的免费SSL 使用教程
    
  并且在全站Https的大趋势下,Let's Encrypt 脱颖而出,无疑会对传统SSL证书提供商造成不小的打击,并将Https的应用和推广上升到一个空前火热的阶段。

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

           最近很火的免费SSL 使用教程

  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

      最近很火的免费SSL 使用教程

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

  最近很火的免费SSL 使用教程

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

       最近很火的免费SSL 使用教程

  2、使用证书

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

  cert.pem 服务器证书

  privkey.pem 是证书私钥

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

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

    最近很火的免费SSL 使用教程

  最后 别忘了重载Nginx

  执行 /etc/init.d/nginx reload 使其生效。

  Nginx虚拟主机的设置

  接下来进行配置Nginx虚拟主机文件,完整配置如下:

         最近很火的免费SSL 使用教程

  需将上述配置根据自己的实际情况修改后,添加到虚拟主机配置文件最后面。

  添加完需要执行:/etc/init.d/nginx reload 重新载入配置使其生效。

  如果需要HSTS,可以加上add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

  Apache虚拟主机上的设置

  Apache在生成证书后也需要修改一下apache的配置文件 /usr/local/apache/conf/httpd.conf ,查找httpd-ssl将前面的#去掉。

       最近很火的免费SSL 使用教程

  并在对应apache虚拟主机配置文件的最后下面添加上SSL部分的配置文件:

      最近很火的免费SSL 使用教程

  需将上述配置根据自己的实际情况修改后,添加到虚拟主机配置文件最后面。注意要重启apache使其实现。执行:/etc/init.d/httpd restart 重启Apache使其生效。

  下面说一下可能会遇到的问题:

  1、国内DNS服务商可能会不行,目前已知dnspod、cloudxns不行

  Namecheap、Route 53的都可以。

  2、Linode福利或IPv6用户福利

  可能目前Linode用户应该遇到了

  An unexpected error occurred:

  There were too many requests of a given type :: Error creating new registration :: Too many registrations from this IP

  Please see the logfiles in /var/log/letsencrypt for more details.

  这个不一定是因为IP注册的次数过多,可能是因为IPv6的事,具体解决方法如下:

  执行:sysctl -w net.ipv6.conf.all.disable_ipv6=1 来临时禁用IPv6

  再生成证书后执行:sysctl -w net.ipv6.conf.all.disable_ipv6=0 再来解除禁用IPv6

  证书续期

  最后要说的是续期,因为证书只有90天,所以建议60左右的时候进行一次续期,续期很简单可以交给crontab进行完成,执行:

       最近很火的免费SSL 使用教程

  注意要修改上面letsencrypt-auto的路径为你自己的,并且里面的邮箱和域名也要修改。

  再crontab里添加上:0 3 */60 * * /root/renew-ssl.sh 具体crontab教程点击查看

  2015.12.13更新

  官网更新了参数,对本文进行了部分参数的调整。原-a webroot --webroot-path=/网站目录完整路径替换为--webroot -w;--renew替换为--renew-by-default;增加--agree-tos参数。

  同时这里提醒一下如果设置了http 301跳到https的用户,再续期前还需要在nginx设置如下:

  80端口的虚拟主机上需要添加上,不加的话会无法验证的

       最近很火的免费SSL 使用教程

  3、最后

  以上配置无误,就直接可以使用https,我的测试环境是 虚拟主机 + 负载均衡,整体搭建到上线使用,不到二十分钟,各大浏览器测试均正常

原文地址:http://www.77169.com/hack/201602/224258.shtm

转载请注明来自华盟网,本文标题:《最近很火的免费SSL 使用教程》

喜欢 (0) 发布评论