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

【折腾笔记】雷池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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 前端面试题(二)
  • 观测云全面支持 OaC,通过 Terraform 管理您的可观测性
  • 【Pyside】pycharm2024配置conda虚拟环境
  • 我与Linux的爱恋:进程地址空间
  • stable diffusion 神经网络插件 controlnet 的安装,很详细
  • Linux下如何实现不用加路径调用启动脚本
  • 执行网络攻击模拟的 7 个步骤
  • AIGC专栏15——CogVideoX-Fun详解 支持图文生视频 拓展CogVideoX到256~1024任意分辨率生成
  • 不在同一局域网怎么远程桌面?非局域网环境下,实现远程桌面访问的5个方法分享!
  • WebGL光照与材质
  • uniApp 解决uniapp三方地图获取位置接口的请求次数限制问题,分别提供 Android 和 iOS 的实现方法(原生插件获取)
  • Android TV RecyclerView列表获得焦点左右换行
  • 每天五分钟玩转深度学习pytorch:L1正则化和L2正则化的应用
  • Xcdoe快速更新安装的小Tips
  • 超详细超实用!!!AI编程之cursor编写设计模式迪米特法则实例(八)
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 11111111
  • android 一些 utils
  • Centos6.8 使用rpm安装mysql5.7
  • in typeof instanceof ===这些运算符有什么作用
  • Webpack 4 学习01(基础配置)
  • windows下mongoDB的环境配置
  • 安装python包到指定虚拟环境
  • 坑!为什么View.startAnimation不起作用?
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 容器服务kubernetes弹性伸缩高级用法
  • 使用common-codec进行md5加密
  • elasticsearch-head插件安装
  • 交换综合实验一
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​2020 年大前端技术趋势解读
  • ​io --- 处理流的核心工具​
  • ​如何防止网络攻击?
  • ​用户画像从0到100的构建思路
  • #100天计划# 2013年9月29日
  • (11)MSP430F5529 定时器B
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (Charles)如何抓取手机http的报文
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (一)SpringBoot3---尚硅谷总结
  • (原創) 未来三学期想要修的课 (日記)
  • (转)Linux下编译安装log4cxx
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转)菜鸟学数据库(三)——存储过程
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .Net Core 生成管理员权限的应用程序
  • .net core 依赖注入的基本用发
  • .net mvc部分视图
  • .NET 常见的偏门问题