Linux 利用 Cloudflare API 配置 acme.sh 自动续签 SSL (Apache、Nginx适用)

简介: 安装acme.sh工具,命令为`curl https://get.acme.sh | sh -s email=你的邮箱`。接着配置Cloudflare API,创建并记录API令牌及Zone ID。最后通过`acme.sh --issue -d 你的域名 --dns dns_cf`签发SSL证书,对于Nginx可使用`acme.sh --install-cert`命令安装证书,并设置自动重载Nginx服务。

前几天为了弄 Overleaf 的 Nginx 反向代理所以折腾了一下 SSL 自动续签,关于 Overleaf 的搭建配置可以参考 《Linux 快速搭建 Overleaf 5.0 附中文字体及完整 TexLive 安装教程(2024最新版)》

安装 acme.sh

我们可以通过在终端输入以下指令安装 acme.sh

curl https://get.acme.sh | sh -s email=你的邮箱

安装完成后 acme.sh 将会自动加入到 crontab 之后以便执行自动续签,并且配置好指令。之后我们需要先退出终端并且重新登录。

配置 Cloudflare API

安装好 acme.sh 之后我们接下来要配置我们的 Cloudflare API 信息,我们首先登录我们的 Cloudflare 账号,点击右上角的用户头像进入到【我的个人资料】页面,并且在左侧导航栏中选择【API 令牌】进入令牌页面,在页面中选择【创建令牌】。

创建令牌的时候,我们可以直接使用 Cloudflare 提供的模板,我们选择【编辑区域 DNS】模板,并且在页面中区域资源的部分选择我们要签发 SSL 的域名,然后设置【TTL】为一个较长的时间避免需要我们频繁更新。

最后我们把令牌记录好,这样我们的令牌就创建成功了。创建成功后,我们还需要记录以下我们域名的 Zone ID,我们进入我们域名的管理页面,在【概述】页面的右侧资讯栏中找到 【Zone ID】并且记录好。

记录好令牌以及 Zone ID 之后,我们进入我们的终端并且运行指令:

export CF_Token="你的令牌"
export CF_Zone_ID="你的 Zone ID"

即配置成功,此时不要退出中断,否则再次进入时需要重新配置!

签发 SSL 并且安装

我们可以运行以下指令对域名进行 SSL 签发:

acme.sh --issue -d 你要签发SSL的域名 --dns  dns_cf

比如我要对 exmaple.com 域名下的 test.example.com 签发域名,则运行:

acme.sh --issue -d test.example.com --dns  dns_dp

稍等一到两分钟即签发完成,期间如果遇到任何问题可以参考官方 Wiki。之后我们对证书进行安装。如果你是 Nginx 可以执行以下指令:

acme.sh --install-cert -d test.example.com \
--key-file       证书目录/密钥文件.pem  \
--fullchain-file 证书目录/全链证书文件.pem \
--reloadcmd     "service nginx force-reload"

如果你是使用的是 Apache 服务器,可以执行以下指令:

acme.sh --install-cert -d example.com \
--cert-file      证书目录/证书文件.pem  \
--key-file       证书目录/密钥文件.pem  \
--fullchain-file 证书目录/全链文件.pem \
--reloadcmd     "service apache2 force-reload"
相关文章
|
30天前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
40 4
|
4天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
21 9
|
6天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
14 5
|
1月前
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
39 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
|
20天前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
36 2
|
1月前
|
缓存 前端开发 应用服务中间件
CORS跨域+Nginx配置、Apache配置
CORS跨域+Nginx配置、Apache配置
121 7
|
1月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
257 3
|
1月前
|
消息中间件 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
40 2
|
存储 API 数据处理
|
2天前
|
JSON API 数据格式
淘宝 / 天猫官方商品 / 订单订单 API 接口丨商品上传接口对接步骤
要对接淘宝/天猫官方商品或订单API,需先注册淘宝开放平台账号,创建应用获取App Key和App Secret。之后,详细阅读API文档,了解接口功能及权限要求,编写认证、构建请求、发送请求和处理响应的代码。最后,在沙箱环境中测试与调试,确保API调用的正确性和稳定性。