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
命令定期续期证书,确保您的证书始终有效。