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"
相关文章
|
7月前
|
编解码 应用服务中间件 Linux
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
604 1
|
8月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
6月前
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
712 11
|
7月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
390 18
|
7月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
646 17
|
8月前
|
数据建模 应用服务中间件 PHP
配置nginx容器和php容器协同工作成功,使用ip加端口的方式进行通信
本示例演示如何通过Docker挂载同一宿主目录至Nginx与PHP容器,实现PHP项目运行环境配置。需注意PHP容器中监听地址修改为0.0.0.0:9000,并调整Nginx配置中fastcgi_pass指向正确的IP与端口。同时确保Nginx容器中/var/www/html权限正确,以避免访问问题。
配置nginx容器和php容器协同工作成功,使用ip加端口的方式进行通信
|
8月前
|
Ubuntu 应用服务中间件 Linux
在Ubuntu上配置Nginx实现开机自启功能
至此,Nginx应该已经被正确地设置为开机自启。在Ubuntu中利用 `systemd`对服务进行管理是一种高效的方式,为系统管理员提供了强大的服务管理能力,包括但不限于启动、停止、重启服务,以及配置服务的开机自启动。通过这些简洁的命令,即使是对Linux不太熟悉的用户也能轻松地进行配置。
378 0
|
9月前
|
Kubernetes Linux 网络安全
Rocky Linux 8.9配置Kubernetes集群详解,适用于CentOS环境
初始化成功后,记录下显示的 `kubeadm join`命令。
580 0
|
监控 关系型数据库 API
Dataphin数据服务系列之--API 配置、管理和消费
研发小哥哥还在为公司里大量 API 只上不下,不可查不可用, 想找的 API 找不到而苦恼吗?业务方小姐姐还在为 API 开发时间长,业务相应不及时而抱怨吐槽吗? 铛铛铛,Dataphin 数据服务 -- API 配置管理,闪亮登场!助力研发小哥哥五分钟搞定 API,提升业务响应速度,同时大大提升 API 复用能力!作者:张尘初 更多内容详见数据中台官网 https://dp.alibaba.comDataphin 数据服务Dataphin 是阿里巴巴数据中台(OneData - OneModel、OneID、OneService)方法论的产品载体。
4748 0
|
6月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。

热门文章

最新文章