Certbot 生成 SSL 证书并配置自动续期
1、背景
刚来到公司的时候开发同事给我讲了一个事,因为公司开发的项目没有专人管理,只是开发组长一直在兼任管理服务器和相关资源,根本就整不过来,经过我在这干的两个月发现这些开发和测试也不愿意稍微多干一点,毕竟工资也在这放着的,然后就出事了,因为没有做业务的相关监控,所以对证书的过期时间都不知道。代码里面又调用了域名,结果直接爆雷了,业务直接断了整个it部门全部都扣工资了,而且公司的子域名也很多,直接买第三方的证书也很贵,正好有天和同事聊了一下告诉我可以用certbot生成。
2、Certbot使用
https://certbot.eff.org/instructions?ws=nginx&os=centosrhel7
在certbot的官网上有一些简单的使用方法,都是英文看着也不方便所以手册啥的也没找直接找的帖子,这篇内容使用的配置服务都是nginx,先说一下简单的使用方法(参考官网是一样的),还支持测试生成,在生成命令后面添加 --dry-run 参数就可以先测试是否可以生成证书,报红的话就是失败了,先别按着下面这个直接生成,先测试,测试完了可以先看看下面自动续期,生成之后服务器会记录就麻烦了
1、安装snap(不要问我为什么用sudo,没转正呢不给权限,装装样子(*^%$#*&*()*&%)^&$&^)
sudo yum install -y epel-release snapd
sudo systemctl enable --now snapd.socket
sudo ln -s /var/lib/snapd/snap /snap
2、安装certbot
sudo snap install --classic certbot
#如果提示error: too early for operation, device not yet seeded or device model not acknowledged,则重新登录服务器然后等一会,或者查看是否开启selinux,这个需要关闭。
sudo ln -s /snap/bin/certbot /usr/bin/certbot
3、获取并安装SSL证书
sudo certbot