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

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
轻量应用服务器 2vCPU 4GiB,适用于网站搭建
轻量应用服务器 2vCPU 4GiB,适用于搭建容器环境
简介: 安装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"
相关文章
|
2月前
|
编解码 应用服务中间件 Linux
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
centos配置nginx-rtmp实现ffmpeg转码rtsp为rtmp视频流
300 1
|
2月前
|
JSON 监控 供应链
京东商品详情API参数构造指南:必填参数与自定义字段配置
京东商品详情API由京东开放平台提供,支持获取商品基础信息、价格库存、SKU规格等120+字段,适用于价格监控、库存管理等场景。接口采用HTTPS协议、JSON格式,数据延迟≤30秒,支持高并发。提供Python请求示例,便于快速接入。
|
4月前
|
运维 数据可视化 测试技术
从混乱到清晰:API开发追踪工具实用技巧与工具配置完整拆解
API开发追踪工具是提升团队协作效率、实现接口全流程管理的关键。它整合任务看板、文档同步、版本控制与多角色协作,助力前后端及第三方高效对接。本文详解其核心功能、选型建议与落地实践,助你打造透明、规范的API协作体系。
|
2月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
259 18
|
2月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
324 17
|
4月前
|
网络安全 API CDN
如何将Cloudflare HTTPS的SSL证书更换为Google签发的
将Cloudflare HTTPS的SSL证书更换为Google签发的
|
3月前
|
数据建模 应用服务中间件 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加端口的方式进行通信
|
4月前
|
应用服务中间件 网络安全 nginx
配置Nginx以支持Websocket连接的方法。
通过上述配置,Nginx将能够理解WebSocket协议的特殊要求,代理Websocket流量到合适的后端服务器。注意,Websocket并不是HTTP,尽管它最初是通过HTTP请求启动的连接升级,因此保证Nginx了解并能够妥善处理这种升级流程是关键。
1096 10
|
4月前
|
Java 分布式数据库 Docker
使用Docker配置并连接HBase的Java API
本流程概要的解释了如何在Docker上配置并启动HBase服务,并通过Java API进行连接和操作表,不涉及具体的业务逻辑处理和数据模型设计,这些因应用而异需由开发者根据实际需求进行实现。
244 13
|
3月前
|
Ubuntu 应用服务中间件 Linux
在Ubuntu上配置Nginx实现开机自启功能
至此,Nginx应该已经被正确地设置为开机自启。在Ubuntu中利用 `systemd`对服务进行管理是一种高效的方式,为系统管理员提供了强大的服务管理能力,包括但不限于启动、停止、重启服务,以及配置服务的开机自启动。通过这些简洁的命令,即使是对Linux不太熟悉的用户也能轻松地进行配置。
180 0

热门文章

最新文章