使用certbot实现免费ssl证书申请和自动续期工具安装和配置

有如下两种方式实现,第一种全自动,通过certbot nginx插件读取nginx配置,管理nginx实现ssl证书的申请、部署和续期;第二种通过手动申请证书,手动管理nginx ssl证书,通过crontab定时任务实现证书的自动续期;

1、自动申请/部署ssl证书到nginx
  • 安装 certbot 以及 certbot nginx 插件

    sudo yum install -y epel-release
    sudo yum install -y certbot
    sudo yum install -y python3-certbot-nginx
    
  • 执行配置自动申请证书并配置,中途会询问你的邮箱,如实填写即可
    sudo certbot --nginx

  • 自动续约
    sudo certbot renew --dry-run

  • 查看证书有效期

    openssl x509 -noout -dates -in /etc/letsencrypt/live/{域名}/cert.pem

2. 手动申请、配置、定时任务续期
  • 安装certbot

    yum install -y epel-release
    yum install -y certbot
    
  • 手动申请方式
    sudo certbot certonly --webroot -w 根路径地址 -d xxx.cn -d www.xxx.cn -m xxx@pddon.com --agree-tos

    申请成功后,会在/etc/letsencrypt/live/{域名}/下生成证书一些文件。

  • 打开nginx配置文件并添加ssl证书地址

    vi /etc/nginx/nginx.conf

    server {
            listen       443 ssl http2 default_server;
            listen       [::]:443 ssl http2 default_server;
            server_name  xxx.cn www.xxx.cn;
            root         /usr/share/nginx/html;
            ssl_certificate /etc/letsencrypt/live/xxx.cn/fullchain.pem; # managed by Certbot
            ssl_certificate_key /etc/letsencrypt/live/xxx.cn/privkey.pem; # managed by Certbot
            ssl_session_cache shared:SSL:1m;
            ssl_session_timeout  10m;
            ssl_ciphers PROFILE=SYSTEM;
            ssl_prefer_server_ciphers on;
    
  • 更新证书

    certbot renew --dry-run #返回的信息
    certbot renew --quiet #不返回的信息,静默方式
    
  • 使用定时任务申请ssl续期

    crontab -e
    #每天5点执行一次
    0 05 * * * certbot renew --quiet && nginx -s reload
    
  • 查看证书有效期

    openssl x509 -noout -dates -in /etc/letsencrypt/live/{域名}/cert.pem

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部