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

【折腾笔记】雷池WAF社区版自动SSL续签

前言

由于雷池WAF社区版本的证书不支持通配符域名申请,所以我们使用ACME进行域名申请并实现自动续期。下面我将用Debian 12 的系统进行演示安装ACME客户端和以及使用它完自动续期。

简介

ACME是"Automatic Certificate Management Environment"(自动证书管理环境)的缩写,它是一种用于自动化管理和获取SSL/TLS证书的协议。ACME协议由互联网工程任务组(IETF)定义,并被Let’s Encrypt等证书颁发机构广泛采用,旨在简化和自动化SSL/TLS证书的申请、更新和管理过程。

ACME协议的工作流程大致如下:

  1. 安装ACME客户端:首先,您需要在服务器上安装一个ACME客户端,如acme.sh​或Certbot。

  2. 注册账户:通过客户端在证书颁发机构(CA)注册账户。

  3. 证明域名所有权:按照客户端指示证明您拥有要申请证书的域名,这可能涉及到在Web服务器上放置文件或更新DNS记录。

  4. 获取证书:一旦域名所有权得到验证,客户端将请求并获取证书。

  5. 配置服务器:最后,您需要配置您的Web服务器以使用新获取的证书。

ACME客户端通常支持自动续期,这意味着您可以设置客户端定期自动更新证书,避免手动干预和证书过期的风险。

如果您需要为您的网站启用HTTPS并自动管理SSL/TLS证书,ACME协议提供了一个有效的解决方案。通过使用ACME,您可以确保数据传输的安全性,同时减少管理证书的复杂性。

教程

  1. 根据自己的服务器系统安装git​,执行下面命令。

    • CentOS / RHEL

    yum install git
    • Debian / Ubuntu

    apt-get install git

  2. 安装完成后,使用git clone​命令从 Gitee 克隆 acme.sh​ 仓库。

    git clone https://gitee.com/neilpang/acme.sh.git

  3. 使用 cd​ 命令进入 acme.sh​目录。

    cd acme.sh

  4. 使用 acme.sh​ 脚本进行安装,并指定你真实得电子邮箱。

    ./acme.sh --install -m my@example.com
    

    注意将 my@example.com​ 改为自己的真实邮箱

  5. 注册 freessl.cn 的帐号,在“证书自动化”中找到“域名授权”,点击“添加域名”。

  6. 输入需要授权的域名,然后点击“下一步”。

  7. 授权验证,请根据提示,将对应信息在DNS中进行解析。

  8. 以腾讯云为例,供参考,请根据自己域名情况进行解析到对应DNS中。

  9. 配置完成以后,点击“配置完成,立即检测”。提示“域名提交成功,立即 申请证书”后点击“申请证书”。

  10. 选择刚刚添加的域名,然后点击“下一步”。

  11. 通过“点击复制”,将命令复制到服务器上进行执行。

  12. 执行命令后,等待一分钟左右显示如下。

    如果提示acme.sh: command not found​,则需要断开服务器,重新连接后再执行。

  13. 找到证书中的fullchain.cer文件和 域名.key文件,下载到本地。

  14. 在雷池中的”证书管理“中,将刚下载的证书进行上传。

  15. 在雷池的安装目录中找到刚上传的证书,记录路径及证书文件名称。

  16. 修改以下命令,将域名替换成你自己的域名,将文件路径替换成你的证书所在的文件路径。随后将命令复制到服务器中执行。

    acme.sh --install-cert -d uptoz.cn -d *.uptoz.cn -d *.minio.uptoz.com --key-file /data/safeline/resources/nginx/certs/cert_2.key --fullchain-file /data/safeline/resources/nginx/certs/cert_2.crt --reloadcmd "docker exec safeline-tengine nginx -s reload"

    执行成功后,可以发现,证书的时间变化了,从此,SSL证书会自动续期,无需再管。

文章出处:https://blog.uptoz.cn/archives/cMd3jbu1
作者原创:@小小笔记大大用处 https://blog.uptoz.cn


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

相关文章:

  • 【SpringBoot】20 同步调用、异步调用、异步回调
  • Go 语言中,golang结合 PostgreSQL 、MySQL驱动 开启数据库事务
  • 两种鼠标hover切换对应图片方法对比
  • Mybatis配置文件的增删改查功能
  • Python学习26天
  • css中的变量使用
  • 【WRF运行第三期】服务器上运行WRF模型(官网案例-Hurricane Matthew)
  • 油烟在线监测仪-油烟监测系统-旭华智能
  • 面试经典150题 堆
  • chatGPT问答知识合集【五】
  • 宠物鱼油补充剂行业调研:未来几年年复合增长率CAGR为7.8%
  • python之装饰器、迭代器、生成器
  • 国产游戏出海火热另一面:AI和API快速成长引发网络安全挑战
  • 机器人顶刊IEEE T-RO发布无人机动态环境高效表征成果:基于粒子的动态环境连续占有地图
  • OpenHarmony(鸿蒙南向)——平台驱动指南【MIPI CSI】
  • django使用笔记6--docker部署
  • 【Python语言初识(五)】
  • 【计算机网络】传输层协议TCP
  • python功能测试
  • 跟随Facebook的足迹:社交媒体背后的探索之旅
  • vue打包exe之electron-quick-start的npm install 报错
  • 丢失照片/消息/文件,当发现没有备份 Android 手机数据时急救方法
  • Java面试篇基础部分-Semaphore及其用法详解
  • 数据结构-线性表的单链式存储结构图解及C语言实现
  • 都说网络安全缺口那么大,但为何招聘数量却不多?总算明白了!
  • Linux系统部署Mysql8.x修改密码并且设置远程连接