Let's Encrypt免费证书配置

Yi Nginx 2024-10-08 45

软件安装

安装Let's Encrypt

yum install certbot python3-certbot-nginx

安装nginx

使用模式

一、webroot模式

1. 创建验证目录

mkdirs  /var/webroot/.well-known
mkdirs  /var/webroot/.well-known/acme-challenge

2. nginx配置

server {
    listen 80;
    # 这里使用自己的域名
    server_name *.domain.com;
    set $target_domain https://$host;

    location /.well-known/acme-challenge/ {
      # 验证目录
      root /var/webroot;
    }
    # 重定向
    location / {
      rewrite ^ $target_domain$request_uri? permanent;
    }
}

3.申请证书

certbot certonly --email system@domain.com --webroot -w /var/webroot -d *.domain.com

二、manual模式

这种模式多用于通配符类型或者不能创建webroot方式

certbot certonly --manual --preferred-challenges dns -d *.domain.top -d domain.com

配置证书

server {
    # 监听端口
    listen 443 ssl;
    # 这里使用自己的域名
    server_name *.domain.com;
    charset utf-8;
    # 配置证书
    ssl_certificate /etc/letsencrypt/live/www.domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.domain.com/privkey.pem;
    root /var/webroot;
}

其它

1. 自动续签

执行crontab -l | grep certbot出现0 0 1 * * /usr/bin/certbot renew --quiet,如果没有出现,执行crontab -e在文本后面追加0 0 1 * * /usr/bin/certbot renew --quiet保存

2. 查看当前有多少证书 certbot certificates
3. 吊销证书 certbot revoke --cert-name <cert-name>