Centos9(Stream)配置Let‘s Encrypt (免费https证书)

  1. 安装snap,用来安装certbot:
bash 复制代码
sudo dnf install epel-release
sudo dnf upgrade
sudo yum install snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
snap install core 
snap refresh core
  1. 安装 certbot命令:
bash 复制代码
snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot
  1. 获取证书并更新nginx中的配置文件,假设你要配置的域名是 a.b.com
bash 复制代码
certbot --nginx -d a.b.com

这个命令默认的nginx配置文件位置是在/etc/nginx下面的,如果你的nginx的配置文件在其他地方,比如在 /usr/local/nginx/conf 这个位置,那么就要先建立软连接,再获取证书:

bash 复制代码
# 建立软连接
ln -s /usr/local/nginx/conf/* /etc/nginx 

# 获取证书
certbot --nginx -d a.b.com

成功后,就可以在浏览器访问 https://a.b.com

  1. 配置定时任务自动更新证书(默认有效期90天,所以要自动更新避免过期影响业务):

创建文件 vim /etc/systemd/system/certbot.timer 输入以下内容

bash 复制代码
[Unit]
Description=Run the certbot renew twice a day

[Timer]
OnCalendar=*-*-* 00,12:00:00
RandomizedDelaySec=21600
Persistent=true

[Install]
WantedBy=timers.target

保存成功后,执行以下命令即可。

bash 复制代码
systemctl enable certbot.timer
相关推荐
皆过客,揽星河1 小时前
Linux上安装MySQL8详细教程
android·linux·hadoop·mysql·linux安装mysql·数据库安装·详细教程
青草地溪水旁1 小时前
Unix/Linux 系统中的 `writev` 系统调用
linux·unix·writev
彩虹海。1 小时前
密码到期导致ssh连接失败
运维·ssh
Justin_191 小时前
Linux-Shell编程之sed和awk
linux·运维·服务器
Akshsjsjenjd1 小时前
深入理解 Shell 循环与函数:语法、示例及综合应用
linux·运维·自动化·shell
塔中妖2 小时前
【华为OD】Linux发行版的数量
linux·算法·华为od
半桔2 小时前
【Linux手册】消息队列从原理到模式:底层逻辑、接口实战与责任链模式的设计艺术
java·linux·运维·服务器
Adorable老犀牛2 小时前
可遇不可求的自动化运维工具 | 2 | 实施阶段一:基础准备
运维·git·vscode·python·node.js·自动化
华纳云IDC服务商3 小时前
Linux服务器的系统安全强化超详细教程
linux·服务器·系统安全
衍余未了3 小时前
k8s镜像推送到阿里云,使用ctr推送镜像到阿里云
linux·运维·服务器