前言

项目要求需要快速发布上线,快速生成证书。
Let’s Encrypt 是一个免费 SSL 证书发行项目,自动化发行证书,证书有 90 天的有效期。

安装过程

  1. pip uninstall requests
  2. pip uninstall urllib3
  3. yum remove python-urllib3
  4. yum remove python-requests
  5. yum install python2-certbot-nginx
  6. yum install python-urllib3
  7. yum install python-requests
  8. yum install certbot
  9. yum install certbot-nginx
  10. #第一次使用certbot
  11. certbot certonly
  12. #输入邮箱
  13. XXX@XX.com
  14. #是否接受信息
  15. Yes|No
  16. #输入解析到本机的域名并生成证书
  17. XXXX.XXX.com

其他影响
#需要在python3安装前先装好certbot否则影响python3使用,或者说 python3 影响yum(ansible中的yum)
#修改#!/usr/bin/python >> #!/usr/bin/python2

  1. /usr/bin/yum
  2. /usr/bin/pip
  3. /usr/libexec/urlgrabber-ext-down
#默认是/etc/nginx/nginx.conf
certbot certonly --nginx-server-root=/data/nginx/conf --nginx

自动续期

。于是有了另外一个项目可以自动安装,自动续期。

解决方案

#手动测试,查看证书过期时间
certbot renew
#忽略证书过期时间,直接重置证书时间
certbot renew --force-renewal
#定时任务
crontab -e 
#编辑文件
0 0 1 * * /usr/bin/certbot renew --force-renewal

定时每天检查,如果要过期则自动延期。