Certbot免费https证书

Certbot免费https证书

Certbot 的官方网站是 https://certbot.eff.org/

当前工作目录为 /root

  1. 获取certbot

    wget https://dl.eff.org/certbot-auto
    chmod a+x certbot-auto
  2. 停止nginx

    service nginx stop
  3. 生成证书(如果后期生成报错,先删除原有certbot-auto,按第一步重新下载certbot即可)

    #使用-d追加多个域名,使用时请将邮箱换成自己的邮箱
    ./certbot-auto certonly --standalone --email cdw.me@qq.com --  agree-tos -d cdw.me -d www.cdw.me -d wiki.cdw.me
  4. 查看生成的证书

    ls /etc/letsencrypt/live/
  5. 在nginx配置证书

    #证书位置
    ssl_certificate /etc/letsencrypt/live/cdw.me/fullchain.pem;
    # 私钥位置
    ssl_certificate_key /etc/letsencrypt/live/cdw.me/privkey.pem;
  6. 启动nginx

    service nginx start
  7. 编写更新脚本renew-cert.sh

    #!/bin/bash
    
    # 停止nginx
    /sbin/service nginx stop
    
    # 续签
    # --force-renew 强制更新
    /root/certbot-auto renew --force-renew
    
    # 启动nginx
    /sbin/service nginx start
    chmod a+x renew-cert.sh
  8. 自动更新https证书

    //crontab定时任务自动更新证书
    0 4 1 */2 * /root/renew-cert.sh >/root/crontab.log 2>&1

Let’s Encrypt 生成的免费证书为3个月时间,但是我们可以无限次续签证书

注意:定时任务可能会失败,请在/root/crontab.log中查看错误原因。
常见错误:
1.pip prints the following errors
解决方案:

# 备份pip配置
cp ~/.pip/pip.conf ~/.pip/pip.aliyun.conf
# 修改pip配置将镜像地址改为清华源
vi ~/.pip/pip.conf
  
  [global]
  index-url=https://pypi.tuna.tsinghua.edu.cn/simple

  [install]
  trusted-host=pypi.tuna.tsinghua.edu.cn

2.service:command not found
解决方案:

  # 使用完整的service完整路径,修改renew-cert.sh文件,在service命令前加上/sbin/
  /sbin/service nginx stop
  /sbin/service nginx start
上一篇:Ansible 通过数组嵌套循环把 yaml 内容写入 ini 配置的新思路


下一篇:python变量、运算符