Linux上使用Certbot生成免费SSL证书

Linux上使用Certbot生成免费SSL证书

补充:certbot在大多数linux上是自带的,若没有可执行以下命令下载
Ubuntu:

sudo apt-get update
sudo apt-get install --only-upgrade certbot

Centos

sudo yum update
sudo yum install certbot
一、暂时停用Nginx

因为执行Certbot时需要,它需要占用80端口,所以执行以下命令暂时先关闭Nginx。

sudo systemctl stop nginx
二、运行Certbot 命令下载SSL证书

example.com替换成要生成SSL证书的域名

sudo certbot certonly --standalone -d example.com

如果还是提示:“Problem binding to port 80: Could not bind to IPv4 or IPv6.”,可能是有其他应用占用了,使用以下命令查证,并杀死进程。

// 查看占用80端口的进程
lsof -i:80
// 关闭占用80的进程
kill -9 PID进程号
三、重新打开Nginx
sudo systemctl start nginx
四、修改Nginx配置

注意将example.com改为实际域名,其它路径名不用变动,也可去路径下检查一下是否生成成功

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/chuzilaolin.com/privkey.pem;

    # 其他 SSL 配置项...
}

五、配置定时更新证书

使用Cron进行定时更新SSL证书
第一步:首先使用以下命令打开Cron,第一次使用Cron会提示让你选择熟悉的操作方式,可以选择第二种vim方式。

crontab -e

第二步:添加定时任务,一下表示每天凌晨 2 点执行 Certbot 续订(如果不续订,默认是三个月过期)

0 2 * * * certbot renew --quiet

你可能感兴趣的:(linux,ssl,运维)