LINUX系统下申请LETS证书以及自动续期

2023/12/7 11:19:12      点击:

最近几年,很多人都是使用阿里,腾讯的平台,申请到了digicert或者亚洲诚信的一年的免费单域名证书,但是今年10月份开始,digicert和亚洲诚信纷纷表示,明年开始免费的证书,只给3个月的时间,这样的话,对于那些原来使用一年证书,子域名又多的来说,绝对是个大麻烦。如果换成收费通配符证书,多个域名的话,也是不小的一笔费用。而对于digicert和亚洲诚信这些免费3个月的证书,基本也没人要的垃圾产品了,所以就不如使用let's encrypt这家,比较一键申请,续期相对都有各种脚本了。下面就是申请证书的简单办法以及自动续期:


====下面内容中your.domain.com全部替换成你自己需要的域名====

1: 安装必要的软件,插件等

yum -y install epel-release certbot

2: 修改NGINX的default.conf的server部分,指向NGINX默认目录即可

    location ^~ /.well-known/acme-challenge/ {
      default_type "text/plain";
      root     /usr/share/nginx/html;
    }
   location = /.well-known/acme-challenge/ {
      return 404;
    }

3: 重启NGINX加载新配置service nginx restart

4: 执行命令生成证书
certbot certonly --webroot -w /usr/share/nginx/html/ -d your.domain.com
输入邮箱,输入两次Y同意

5: 配置NGINX监听443端口
server {
        listen 443 ssl;
        listen [::]:443 ssl ipv6only=on;

        ssl_certificate /etc/letsencrypt/live/your.domain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/your.domain.com/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/your.domain.com/chain.pem;
        
        // ... other settings ...
}

6: 加入crontab定时更新证书
30 2 * * 1 /usr/bin/certbot renew  >> /var/log/le-renew.log
执行systemctl restart crond.service重启一下