免费HTTPS证书 Certbot Letsencrypt 傻瓜教程

文章介绍了如何在Ubuntu20.04LTS系统上,配合Nginx1.18.0和Python3.8.10,使用Cerbot自动化工具来获取和配置Letsencrypt的免费HTTPS证书。详细步骤包括配置Nginx服务器块,安装Cerbot,执行验证以及设置计划任务以定期更新证书。
摘要由CSDN通过智能技术生成

概述

Letsencrypt提供了免费的https证书服务,但是操作复杂,所以官方就开发了Cerbot自动化工具。

我的环境

ubuntu 20.04.5 LTS
nginx 1.18.0
python 3.8.10

配置Nginx

#可以添加多个服务,Cerbot都会自动识别
server {
    listen 80;
    listen [::]:80;

	#这里放你要验证的域名及子域名,用空格分开,Cerbot会自动识别
    server_name example.com www.example.com test.example.com;
    
    #可选,根路径解析路径
    location = / {
        proxy_pass http://127.0.0.1:8080;
    }

	#可选,可以添加你的路由解析规则
    location ~* ^/api/ {
        proxy_pass http://127.0.0.1:8080;
    }

	#可选,可以添加你的路由解析规则
    location ~* ^/page/ {
        proxy_pass http://127.0.0.1:8080;
    }

    location ~* ^/ {
        root /var/www/example/static/; #这里一定要放在最后,所有无法匹配的路径都将定位到静态文件中,Certbot会使用到该文件夹进行验证操作
    }
}

安装Certbot

$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install certbot python3-certbot-nginx

执行验证

执行如下命令,根据提示一步步操作即可完成验证,完成后即可通过https访问你的网站了

$ sudo certbot run

自动更新

由于letsencrypt签名的有效期只有90天,且有效期超过30天才能重签,所以这里要加个计划任务,每周执行一次检测任务

#编辑计划任务
$ sudo crontab -e

#添加如下计划任务
#letsencrypt task every week-1 00:00
0	0	*	*	1	/usr/bin/certbot renew --renew-hook “/etc/init.d/nginx reload”

#查看计划任务
$ sudo crontab -l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值