使用Let’s Encrypt手动创建https证书

 Let’s Encrypt是一个开源免费的SSL证书项目,是由 Mozilla、思科、Akamai、IdenTrust 和 EFF 等组织发起的,现由Linux基金会托管。

这篇文章讲述用letsencrypt在Linux centos7上生成ssl证书的操作流程。

1、安装letsencrypt,不知道git是什么的,自行阅读课外书,安装等待时间有点漫长。。。

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto --help

2、生成私钥

openssl genrsa 4096 > 2pea.com.key

3、生成CSR(Certificate Signing Reqeust),后面要通过该文件,向 Let’s Encrypt 请求证书

openssl req -new -sha256 -key 2pea.com.key  -out 2pea.com.csr
回车后,让输入国家(中国用 CN )省(BeiJing)市(BeiJing),公司,部门 ,域名 等,域名为要进做https的域名比如博主用的是www.2pea.com,域名必须填写,其他可为空

4、向letsencrypt服务器发起获取证书的请求

./letsencrypt-auto certonly --authenticator manual --server https://acme-v01.api.letsencrypt.org/directory --text --email admin@2pea.com --csr 2pea.com.csr

输入完Y,在出现”Press ENTER to continue“时,不要动,进行下面第五步操作。(ssh远程登录,重新打开一个新窗口进行操作)

5、验证证书对应域名的所有权
官方给出了两种方法,本文只给出这一种方法。根据以下提供的提示信息,需要认证者在服务器上实现以下功能(下文中“*****”部分每次执行不一样),外网采用curl 请求该地址:http://www.2pea.com/.well-known/acme-challenge/*****1,要能够获得*****2的输出内容。

Make sure your web server displays the following content at
http://www.2pea.com/.well-known/acme-challenge/*****1 before continuing:

*****2

6、curl上文给出的地址,返回的结果确认和*****2一样,则回到第4步的操作窗口按回车键,证书创建成功,执行ls查看命令,发现返回3个pem文件其中:

0000_cert.pem 文件就是证书文件

7、nginx进行一下改进:

server
{
listen 80;
server_name www.2pea.com;
rewrite ^(.*)$ https://$host$1 permanent; // 将所有请求指向https
}

server
{
listen 443;
#listen 80;
server_name www.2pea.com;

ssl on;
ssl_certificate /dir/0000_cert.pem;
ssl_certificate_key /dir/2pea.com.key;
ssl_session_timeout 10m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC$+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;

}

秘钥和证书地址自己定义

Let’s Encrypt有效期只有3个月,作为懒人,肯定不会每间隔三个月上服务器上重新生成一遍证书的,还好Let’s Encrypt提供了自动更新证书的功能:

/root/letsencrypt/letsencrypt-auto renew

将该命令写入脚本然后添加自动任务,以后就不需要手动更新了。需要注意的是,执行该命令前需要关闭nginx,所以脚本内容可参考一下代码

service nginx stop
/root/letsencrypt/letsencrypt-auto renew
service nginx start

主要参考文章地址:http://www.cnblogs.com/dudu/p/letsencrypt-manual-https-cert.htmlhttp://www.jb51.net/article/70640.htm

作者: 二皮

Hackers please go away