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"
相关文章
|
5天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
24 9
|
8天前
|
安全 应用服务中间件 网络安全
49.3k star,本地 SSL 证书生成神器,轻松解决 HTTPS 配置痛点
mkcert是一款由Filippo Valsorda开发的免费开源工具,专为生成受信任的本地SSL/TLS证书而设计。它通过简单的命令自动生成并安装本地信任的证书,使本地环境中的HTTPS配置变得轻松无比。mkcert支持多个操作系统,已获得49.2K的GitHub Star,成为开发者首选的本地SSL工具。
|
7天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
18 5
|
22天前
|
Ubuntu 应用服务中间件 Linux
Linux下搭建Nginx环境的搭建
Linux下搭建Nginx环境的搭建
|
21天前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
37 2
|
1月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
260 3
|
1月前
|
监控 安全 网络协议
快速配置Linux云服务器
【10月更文挑战第3天】快速配置Linux云服务器
|
30天前
|
弹性计算 应用服务中间件 网络安全
ECS服务器使用:SSL证书安装、配置和问题定位指南
本文简要介绍了SSL证书的生成与部署方法,包括使用OpenSSL生成自签名证书和从CA获取证书的步骤,以及在Apache和Nginx服务器上的配置方法。此外,还提供了测试证书是否生效的方法和常见问题的解决策略,帮助确保证书正确安装并解决调试过程中可能遇到的问题。
136 0
|
28天前
|
SQL Java API
Apache Flink 2.0-preview released
Apache Flink 社区正积极筹备 Flink 2.0 的发布,这是自 Flink 1.0 发布以来的首个重大更新。Flink 2.0 将引入多项激动人心的功能和改进,包括存算分离状态管理、物化表、批作业自适应执行等,同时也包含了一些不兼容的变更。目前提供的预览版旨在让用户提前尝试新功能并收集反馈,但不建议在生产环境中使用。
575 13
Apache Flink 2.0-preview released
|
1月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
63 3