⚠️重要先说安全:
之前旧教程写的 Global‑API‑Key(全局密钥)不安全!它等于你的账号最高权限密码,如果VPS泄露,别人可以控制你全部Cloudflare所有域名。
✅不要用Global Key!应该创建【受限API令牌(API Token)】,只允许修改这一个域名的DNS,权限最小化,更安全。
acme.sh现在支持专用受限token,不用全局密钥。
一、获取安全API‑Token步骤(推荐)
1、登录Cloudflare,右上角头像 → My Profile(我的个人资料) → API Tokens(API令牌)
页面地址直达:
https://dash.cloudflare.com/profile/api-tokens
2、点 Create Token(创建令牌)
3、选择模板:Edit zone DNS(编辑区域DNS)【直接点「Use template」使用该模板】
4、权限设置:
- Zone(区域)权限:
DNS → Edit - Zone Resources(区域资源):只选择你这一个域名
myfamily2027.top!不要选全部zone(只给这个域名DNS修改权限)
不要给全部域名访问!只限定当前这一个域名。
5、下面TTL有效期:可以留空(永久),点继续摘要 → Create Token 创建
6、❗令牌只显示这一次!复制保存。丢失只能重建。
复制得到:CF_Token=xxxxxxx
还需要复制这个域名的Zone‑ID:打开域名主页右侧,找到Zone ID复制。
✅acme.sh 使用受限token命令(不再使用CF_API_Key、CF_Email全局密钥!)
export CF_Token="刚刚复制的token字符串"
export CF_Zone_ID="你的域名zone‑id"
然后执行申请证书:
~/.acme.sh/acme.sh --issue --dns dns_cf -d blog.myfamily2027.top -d stockapi.myfamily2027.top
这样权限只可以修改myfamily2027.top的DNS,就算VPS密钥泄露,无法操作你其他域名,安全得多。
❌区分两个东西(很多教程搞混)
1)Global API Key(全局密钥):页面下方API‑Keys板块里面那个View按钮
权限=账号全部控制权,不推荐!旧教程遗留做法,风险大。
2)上面Create‑Token新建出来的API‑Token(受限令牌):可以限定权限,推荐现在使用这个。
安全要点总结
1、密钥只保存在VPS服务器;不要复制到聊天框发给任何人。
2、如果VPS被入侵拿到token:受限token仅仅可以修改myfamily2027.top的DNS,不能操作你账号其他域名;而Global Key可以全部账号毁灭。差距很大。
3、如果你以后不用acme.sh了,可以直接在cloudflare后台删除这条API‑Token,立刻失效。
如果遇到报错
如果dns_cf用CF_Token方式报错,检查两件事:
1)创建token的时候,zone资源准确选中你的域名myfamily2027.top
2)确认复制的Zone‑ID是该域名概述页面右侧的zone‑id,不是account id!
补充说明:如果你已经复制旧的Global‑Key放到服务器,建议现在cloudflare页面点Global‑key里面Change重置旧全局密钥,防止风险。
如果你需要,我可以给你完整一键复制全部命令。