当前位置: 首页 > article >正文

SSL 证书 | 免费获取与自动续期全攻略

前言

随着互联网的不断发展,网站的安全性越来越受到人们的关注。

SSL证书 作为一种保障网站安全的重要手段,已经成为了许多网站的必备配置。

以前阿里云每个账号能生成二十个期限 1 年的免费 SSL 证书,一直用,还挺香,证书快过期的时间还有邮件提醒。但今年,阿里云的免费 SSL 证书变成了 3 个月,而且加短信、邮件提醒还要收费。

这让一直用免费证书的人怎么接受?

所以开始找替代方案。

果然,功夫不负有心人,在 Github 上找到一个工具:Cerbot。

Certbot 是 Let’s Encrypt 官方提供的一个用于申请和配置 SSL 证书的工具。

免费,证书来源靠谱,且自动续期,完美。

本文主要分享 Ubuntu20.04 云原生系统环境下的部署。

准备工作

1. 准备一台云服务器

这里测试用 Ubuntu20.04。

2. 服务器安全组开放 80 和 443 端口

在配置 Let’s Encrypt SSL 证书之前,需要确保服务器的80和443端口已经打开。

这两个端口分别是 HTTP 和 HTTPS 的默认端口,是 SSL 证书配置的必要条件。

3. 准备需要 SSL 证书加密的域名

注意:云服务在国内的话一定要先将域名备案。

4. 将域名解析到服务器公网 IP

如果主域名 和 www 子域名对应的两个域名都要自动配置 SSL 证书,需要把 @ 和 www 都解析到服务器的公网 IP。

安装 Cerbot

在 Ubuntu 服务器上,可以通过以下命令安装 Certbot:

sudo apt update
sudo pip3 install --upgrade pip setuptools
sudo pip3 install --upgrade requests_toolbelt urllib3 
sudo apt install certbot python3-certbot-nginx

安装好 Certbot 后,就可以通过以下命令获取 Let’s Encrypt 的 SSL 证书:

sudo certbot --nginx -d example.com -d www.example.top

这个示例中,-d 指证书要包含的域名。

这里测试证书包含了 example.com、www.example.top 两个域名。

执行这个命令后,也会自动生成自动更新任务。

自动任务由 systemd 的定时器管理,不是 cron,如下检查:

root@iZf8z5b1hu0l3j5h8hw261Z:/etc/nginx/conf.d# systemctl list-timers | grep certbot 
Fri 2024-08-02 02:48:17 CST 12h left n/a n/a certbot.timer certbot.service

检查是否安装正常

检查自动续期是否正确设置,并且工作正常,响应如下:

root@iZf8z5b1hu0l3j5h8hw261Z:/etc/nginx/conf.d# sudo certbot renew --dry-run 
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Processing /etc/letsencrypt/renewal/pokenote.top.conf 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Simulating renewal of an existing certificate for pokenote.top and www.pokenote.top 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
Congratulations, all simulated renewals succeeded: 
/etc/letsencrypt/live/pokenote.top/fullchain.pem (success) 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

http://www.kler.cn/a/299765.html

相关文章:

  • 2007-2020年各省国内专利申请授权量数据
  • 关于产品和技术架构的思索
  • C# dataGridView1获取选中行的名字
  • 大屏 UI 设计风格的未来趋势
  • LTV预估 | 深度学习PLTV之开山鼻祖ZILN
  • 【NLP251】NLP RNN 系列网络
  • 微型神经网络如何表示基本函数
  • 三、Maven工程的构建
  • redis:全局ID生成器实现
  • 【PHPStudy搭建Pikachu靶场】自定义网站站点和mysql端口本地搭建Pikachu靶场
  • 如何利用Linux提升工作效率和安全性?
  • Ubuntu源码安装gitlab13.7
  • Django 中的用户界面 - 创建速度计算器
  • Netty权威指南:Netty总结-编解码与序列化
  • centos 7 升级Docker 与Docker-Compose 到最新版本
  • 使用W外链创建微信短链接的方法
  • C# 数组定义和常用方法
  • 平板电脑开发软件思路——客户现场编译—SAAS本地化及未来之窗行业应用跨平台架构
  • 你真的了解电阻吗
  • 【文献阅读】Social Robot Detection Method with Improved Graph Neural Networks
  • java读取MultipartFile文件excel文件内容
  • 为什么windows系统cmd窗口中文会乱码?
  • qt 槽函数中获取发射信号的对象(widget)
  • 【题解单调队列优化dp】划分
  • 数据结构(14)——哈希表(1)
  • Winform实现石头剪刀布小游戏