申请 SSL 证书 (Cloudflare + acme.sh)
acme.sh
是一个用于从 Let's Encrypt(一种免费、开放和自动化的证书颁发机构)获取 SSL 证书的 shell 脚本。要为使用 Cloudflare 作为 DNS 提供商的域名注册 SSL 证书,您可以按照以下步骤操作:
1. 安装 acme.sh
首先,确保您已安装并正确配置了 acme.sh
。如果还没有安装,可以使用以下命令安装:
curl https://get.acme.sh | sh
重启终端 或 重新打开一个终端
注册账户
acme.sh --register-account -m xxx@gmail.com
2. 配置 Cloudflare
2.1. 登录到您的 Cloudflare 账户,导航到 "API Tokens" 页面(在 "Profile" 页面下找到),并创建一个新的 API Token,确保具有 Zone.Zone
和 Zone.DNS
的编辑权限。
export CF_Token="xxx"
2.2. 配置 CF_Zone_ID
和 CF_Account_ID
在域名的 Dashboard -> Overview 页面
export CF_Account_ID="xxx"
export CF_Zone_ID="xxx"
3. 生成证书
使用 acme.sh
为您的域名颁发 SSL 证书:
/root/.acme.sh/acme.sh --issue --force --dns dns_cf -d 'jansora.app' -d '*.jansora.app' -d '*.localhost.jansora.app'
如果证书颁发成功,您将看到证书文件的路径。
[Thu May 11 03:00:52 AM UTC 2023] Your cert is in: /root/.acme.sh/jansora.app_ecc/jansora.app.cer
[Thu May 11 03:00:52 AM UTC 2023] Your cert key is in: /root/.acme.sh/jansora.app_ecc/jansora.app.key
[Thu May 11 03:00:52 AM UTC 2023] The intermediate CA cert is in: /root/.acme.sh/jansora.app_ecc/ca.cer
[Thu May 11 03:00:52 AM UTC 2023] And the full chain certs is there: /root/.acme.sh/jansora.app_ecc/fullchain.cer
以上步骤将帮助您为使用 Cloudflare DNS 提供商的域名使用 acme.sh
注册 SSL 证书。如有任何问题,请查阅 acme.sh
文档以获取更多信息和示例。