Let's Encrypt最为免费CA和主流浏览器厂商都有合作,它的免费证书上线到现在可以说很大的推动了全网https化,尤其是小型站点。大型站点出于安全考虑还是会买更贵的证书,那些证书的审批更加严格,而且会有保证金,如果因为证书认证造成损失的会赔很多钱。但是对于中小站点,只能说Let's Encrypt是业界良心,新手福音~
本文的环境是centos7+nginx,Let's Encrypt提供的证书生成软件在不同的环境也不一样。不同的环境去官网看资料,很详细,无脑照着做就行了
PS: Let's Encrypt生成证书的工具只支持*nix系统,win的小伙伴没有办法用哦
- 官网说推荐所有人都用Certbot客户端生成证书
- 点进去之后根据自己的服务器环境选择,我这里选择nginx+centos7,根据说明certbot已经包含在epel源中了,所以可以直接安装
# 安装certbot客户端
yum install certbot-nginx
# 生成证书,如果不加certonly,certbot会自动修改nginx的配置文件。我只想让它生成证书,配置nginx的工作自己做。
# 执行之后会有好多选项,输入邮箱、阅读协议是否同意、是否允许Let's Encrypt往邮箱发一些通知邮件、选择要生成证书的域名
certbot --nginx certonly
- 执行之后会显示私钥和证书的位置,其实所有的东西都在 /etc/letsencrypt,它还提示我们可以把这个文件夹备个份,证书的过期时间是三个月后(Let's Encrypt的证书是三个月),执行certbot renew可以续约
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/www.laifuzhi.cn/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/www.laifuzhi.cn/privkey.pem
Your cert will expire on 2018-07-24. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- 在nginx中使用刚生成的私钥和证书,相关配置可以看我的上一篇文章,上一篇文章使用的自签名证书,现在当然就不用了~
- 要注意的是certbot默认是证书到期前30天内才允许续签,如果我们想随时都能更新证书,可以修改默认配置,修改/etc/letsencrypt/renewal下对应域名的配置,将
# renew_before_expiry = 30 days
的注释去掉,并且改成90天。后续可以配置crontab实现定期续约 - 最后附上最终的小绿锁效果图
网友评论