c4rt1y

let's encrypt 配置https

0x01 介绍

Let's Encrypt是一个于2015年三季度推出的数字证书认证机构,旨在以自动化流程消除手动创建和安装证书的复杂流程,并推广使万维网服务器的加密连接无所不在,为安全网站提供免费的SSL/TLS证书。
Let's Encrypt由互联网安全研究小组(缩写ISRG)提供服务。主要赞助商包括电子前哨基金会、Mozilla基金会、Akamai以及思科。2015年4月9日,ISRG与Linux基金会宣布合作。

0x02 操作

2.1、制作证书
前提须知:由于cd8.me www.cd8.me  dev.cd8.me都在使用,故从新申请一个域名叫做test.cd8.me,访问页面。
对以下url,对cd8.me www.cd8.me  dev.cd8.me test.cd8.me进行申请ssl,以空格分割。
https://www.sslforfree.com/create?generate&domains=cd8.me%20www.cd8.me%20dev.cd8.me%20test.cd8.me

https01

一共三种方法,前两种方法在国内不适用·,无法正常解析,所以才去第三种。根据第三种方式,以对test.cd8.me为例,我们需要进入DNS服务进行对域名解析,创建记录类型为txt,主机记录为对应的_acme-challenge.test,记录值为B8XA5A7MHDtVZZO93vwihqE7lK2CHRyoEiKD1ZF_s8o,建立完毕,点击确认。

https02

按顺序依次创建cd8.me www.cd8.me  dev.cd8.me

https03

根据图片第二步骤的内容提示创建4个txt格式的网页,然后根据图片第三步骤进行对网页验证。

https04

测试通过后,根据上图选择下载SSL证书,会跳到一个新的页面.

https05

新网页最开始介绍了,提示该SSL的使用期是90天,如果想获取到期提醒,可以注册账号,在到期时间快到的时候,会给发送email提醒。继续向下是证书内容,一共三份文件,可以自己贴到文本里面,因为unix一切皆文件,所以自己复制到文本也行

https06

另一种是网页下面存在一个download选项,点击选项,可以下载文件

https07

下载下来,解压发现存在3个文件,合并两个crt文件。执行以下命令
cat certificate.crt > cd8.me.crt
echo -e "" >> cd8.me.crt
cat ca_bundle.crt >> cd8.me.crt

https08

为了支持oscp,我们可以继续添加证书,执行以下命令
wget -O - https://letsencrypt.org/certs/isrgrootx1.pem > root.crt
echo -e "" >> cd8.me.crt
cat root.crt >>cd8.me.crt
那么对我们而言,现在的文件中,有两个东西比较有用

https09

为了方便管理,吧private.key也改成cd8.me.key,这样我们的证书制作完毕。
cp private.key  cd8.me.key

2.2、下面我们进行对nginx服务器增加证书

https10

在default.conf文件里面,将ssl的include路径改为cd8.me.conf,配置解析

https11

查看https

https12

2.3、关于阿里云负载均衡的https配置
负载均衡,创建时采取https,前置采取443,后置采取80,然后证书内容即可

https13

0x03 问题与解决

3.1、letsencrypt只允许90天的https,所以手工配置会很蛋疼
3.1.1、目前可以使用acme.sh可以解决这个问题
3.1.2、负载均衡的问题吧,可以调用api进行自动更新

0x04.资料来源

https://letsencrypt.org/
https://www.sslforfree.com
https://github.com/certbot/certbot
https://github.com/Neilpang/acme.sh
GoTop