type
status
date
slug
summary
tags
category
icon
password
安装 Certbot 和 Cloudflare 插件
创建conda环境(可选)
安装certbot
首先,您需要安装 Certbot 和 Cloudflare DNS 插件,以便使用 Cloudflare 的 DNS API 自动验证并申请 SSL 证书。
certbot:是用于从 Let's Encrypt 获取和管理证书的工具。
python3-certbot-dns-cloudflare:是 Certbot 的 Cloudflare 插件,允许您通过 Cloudflare 的 DNS API 来验证域名所有权。
使用 cloudflare.ini 文件存储 Cloudflare API 密钥
在使用 Certbot 配合 Cloudflare DNS 插件 来验证域名所有权时,您需要提供 Cloudflare API 密钥。为了安全起见,最好将密钥保存在一个单独的配置文件中,比如
cloudflare.ini。以下是创建和配置 cloudflare.ini 文件的步骤:1. 创建 cloudflare.ini 文件
首先,您需要创建一个名为
cloudflare.ini 的文件,这个文件将存储您的 Cloudflare API 密钥。创建并编辑文件:
使用 Vim(或您喜欢的编辑器)来创建并编辑
cloudflare.ini 文件。假设我们将其存放在 ~/.cloudflare/ 目录下。2. 在 cloudflare.ini 文件中配置 API 密钥
在文件中添加以下内容:
注意:
YOUR_CLOUDFLARE_API_TOKEN需要替换为您在 Cloudflare 获取的实际 API 令牌。
- API 密钥的生成:登录到您的 Cloudflare 账户,进入 "My Profile" -> "API Tokens" -> "Create Token",并选择或自定义适当的权限(通常需要选择包含 DNS 编辑权限的 token)。
3. 保护 cloudflare.ini 文件
由于
cloudflare.ini 文件中包含敏感信息,您需要确保该文件只有用户自己可以访问,而其他用户无法读取。为此,您可以设置文件权限:这将确保文件只能由当前用户读取和写入。
申请证书
使用以下命令通过 Cloudflare 的 DNS 验证方式向 Let's Encrypt 请求 SSL 证书。您需要指定您的 Cloudflare API 密钥和域名。
certonly:仅请求证书,不会自动配置 Web 服务器。
-dns-cloudflare:指定使用 Cloudflare DNS 进行验证。
-dns-cloudflare-credentials ~/.cloudflare/cloudflare.ini:指定存储 Cloudflare API 密钥的文件。
-config-dir、-work-dir、-logs-dir:指定 Certbot 配置、工作目录和日志目录。
d 域名:指定您要为其申请证书的域名。
证书申请成功
续期证书
证书有效期为 90 天,使用
certbot renew 命令可以手动续期证书。确保定期执行该命令,通常是通过设置定时任务来自动执行。renew:用于续期已经颁发的证书。
-dns-cloudflare、-dns-cloudflare-credentials、-config-dir、-work-dir、-logs-dir:这些参数与申请证书时相同,确保续期过程与申请过程一致。
总结
- 安装 Certbot 和 Cloudflare 插件。
- 使用
certbot certonly命令通过 Cloudflare DNS 插件申请证书。
- 使用
certbot renew命令定期续期证书,确保您的证书始终有效。