红联Linux门户
Linux帮助

letsencrypt获取证书

发布时间:2016-12-08 09:29:31来源:linux网站作者:qq_26299837
想利用https进行数据加密,就要获得CA的一个证书,而要获取证书就要向CA申请,还要花去一笔费用。本文将介绍通过letsencrypt,获取免费的证书。
 
letsencrypt是一个CA,但是是非盈利性的,共筹的CA。现在有很多公司资助它:火狐,思科,facebook,chrome等,主页是https://letsencrypt.org/
letsencrypt获取证书
要向letsencrypt申请证书,首先你要有一个公网域名,其次你要有个web服务器(apache,nginx)
申请证书需要使用certbot这个软件,首先安装。
具体参考:https://certbot.eff.org
 
Ubuntu16.04,nginx
sudo apt-update
sudo apt-get install letsencrypt
可以看出在ubuntu下certbot命令的名字叫:letsencrypt
 
CentOS7,nginx
如果没有加入EPEL,请加入
yum install -y epel-release
yum install -y certbot
在CentOS7下,文件名叫:certbot
 
debain8
deb http://130.89.148.12/debian jessie-backports main" >> /etc/apt/sources.list
sudo apt-get update && apt-get install -qqy certbot -t jessie-backports
 
安装完成后,需要装个nginx,然后运行。
然后运行
certbot certonly --webroot -w /usr/share/nginx/html -d 你的域名
因为letsencrypt会用你的域名访问你机器的80端口,用于验证域名的正确性。所以80端口一定要开。
经过认证后,你的私钥与CA颁发的证书就生成了。位于/etc/letsencrypt/live中,这里是一个软连接,指向真正的证书位置,我们只记住个地址就可以了。
key: /etc/letsencrypt/live/你的域名/privkey.pem
cert: /etc/letsencrypt/live/你的域名/fullchain.pem
这也是配置harbor.cfg的路径
 
certbot命令具体用法请参考:
https://certbot.eff.org/docs/using.html
 
到此就可以有认证了,修改你的nginx配置文件,打开443端口,输入https://你的域名,就可以看到绿色的小锁了。
 
letsencrypt证书有效时间是90天,所以要做一个定时任务来按时更新。
letsencrypt renew --quiet
 
本文永久更新地址:http://www.linuxdiyf.com/linux/26694.html