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

devtools/2024/9/29 16:12:36/

前言

由于雷池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.ppmy.cn/devtools/118758.html

相关文章

uniapp app 端通过webview引入外部 js , webview 与 app 通信

背景 用户登录需要接入腾讯的无感验证,在 index.html 文件里引入 js 文件是不生效的。查看官网相关内容,app 引入只支持 webview 的形式,因为他的 js 文件里面会用到浏览器里的变量,因此就算下载到本地引入也无法使用。 当前项目…

bash使用注意事项

注意事项 在 Bash 脚本中,变量的取值、赋值和定义有一些注意事项,下面列出了一些关键点: 1. 变量赋值 没有空格:在赋值时,等号 前后不能有空格。例如: my_varvalue # 正确 my_var value # 错误字符限…

Elasticsearch实战应用:构建高效搜索引擎

在大数据时代,如何高效存储和检索海量信息成为了一个重要课题。Elasticsearch作为一个开源的分布式搜索引擎,以其强大的搜索能力和灵活的扩展性,成为了许多企业和开发者的首选。本文将深入探讨Elasticsearch的实战应用,包括基本概…

前端框架对比与选择:React、Vue、Angular 与 Svelte 的全方位分析

前言 随着前端技术的快速发展,前端框架的选择变得尤为重要。无论是构建小型应用,还是规划大型企业级项目,选择合适的前端框架能够极大地提升开发效率、维护性和可扩展性。本文将详细对比目前主流的四个前端框架:React、Vue.js、A…

python爬虫bs4库的用法

导入 导入bs4之前先装两个库,bs4和lxml pip install beautifulsoup4 pip install lxml lxml安装后可以显著提高执行速度。 导入bs4 from bs4 import BeautifulSoup解析字符串 BeautifulSoup()方法用于解析字符串,将字符串解析为soup对象,so…

进阶数据库系列(十三):PostgreSQL 分区分表

概述 在组件开发迭代的过程中,随着使用时间的增加,数据库中的数据量也不断增加,因此数据库查询越来越慢。 通常加速数据库的方法很多,如添加特定的索引,将日志目录换到单独的磁盘分区,调整数据库引擎的参…

c语言200例 066

大家好,欢迎来到无限大的频道 今天给大家带来的是c语言200例。 要求: 根据输入的职业表示,区分是老师还是学生,然后根据输入的信息,将对应的信息输出,如果是学生,则输出班级,如果是…

SpringCloud-07 GateWay01 网关技术

Spring Cloud Gateway组件的核心是一系列的过滤器,通过这些过滤器可以将客户端发送的请求转发(路由)到对应的微服务。 Spring Cloud Gateway是加在整个微服务最前沿的防火墙和代理器,隐藏微服务结点IP端口信息,从而加强安全保护。Spring Clou…