Let’s Encrypt 是一个非常安全且值得信赖的证书颁发机构(CA)。
它提供的 SSL/TLS 证书在技术上与商业证书(如 DigiCert, GeoTrust, Sectigo 等)提供的加密强度完全相同。它们都遵循相同的行业标准(X.509标准),提供相同的加密级别(例如 RSA 或 ECC 密钥)。
Cloudflare,可以使用 acme.sh 的 dns_cf 模式轻松申请证书(无需开启 80/443 端口,也不需要备案)
一次配置,永久自动续期!
步骤 1:获取 Cloudflare API Key(或 Token) # 推荐使用 API Token(权限更小更安全) 1、登录 Cloudflare 后台:https://dash.cloudflare.com/ 2、点击右上角头像 → "My Profile" 3、选择左侧 “API Tokens” → 创建 Token 4、使用模板 “Edit zone DNS” 5、选择你要的域名(如 free-ai.top) 6、生成后保存你的 Token 步骤 2:安装 acme.sh(如未安装) curl https://get.acme.sh | sh source ~/.bashrc 步骤 3:设置 Cloudflare API 环境变量 # 如果你用的是 API Token: export CF_Token="your_cloudflare_token" # 复制生成后的 Token(不要关闭页面前忘记保存!) export CF_Token="你刚刚复制的 token" acme.sh --issue --dns dns_cf -d xxxx.free-ai.top # 安装证书到 Nginx: acme.sh --install-cert -d xxx.free-ai.top \ --key-file /docker-compose-app/nginx/certs/xxx.free-ai.top_ssl.key \ --fullchain-file /docker-compose-app/nginx/certs/xxx.free-ai.top_ssl.crt \ --reloadcmd "docker restart nginx-ds" # 以后 acme.sh 会自动续签证书(通常每 60 天签一次),并自动执行:(重启一下nginx) docker restart nginx-ds
阿里云域名也是可以使用 acme SSL 证书的
# 需要配置阿里云 DNS API 1、登录阿里云 RAM 控制台 进入:https://ram.console.aliyun.com/ 2、新建 RAM 用户 在左侧点击 用户管理 → 创建用户 用户登录名称:acme-dns 勾选:使用永久 AccessKey 访问 不需要控制台登录权限(只用于 API 调用) 点击 确认 创建 3、获取 AccessKey 创建完成后,你会看到: AccessKey ID AccessKey Secret 重要:Secret 只会显示一次,请立刻复制保存到一个安全的地方。 4、授予 DNS 管理权限 在 用户管理 页面找到刚才的用户 acme-dns 点击 添加权限 按钮 在权限策略列表搜索: AliyunDNSFullAccess(意思是阿里云云解析的完整访问权限,适合 acme.sh 自动添加 TXT 记录) 勾选后点击 确定 授权 在 Ubuntu 上设置环境变量: #返还根目录 cd ~ #使用国内节点获得acme.sh git clone https://gitee.com/neilpang/acme.sh.git #进入acme.sh进行安装 cd acme.sh ./acme.sh --install source ~/.bashrc # 改回 Let’s Encrypt(不需要 ZeroSSL 账号) acme.sh --set-default-ca --server letsencrypt # 需要配置一下阿里云的RAM 用户连接 API 信息 export Ali_Key="阿里API_KEY" export Ali_Secret="阿里API_Secret" # 申请域名证书 acme.sh --issue --dns dns_ali -d xxx.free-ai.top #申请成功后证书会保存在: ~/.acme.sh/xxx.free-ai.top/ #假设你的 Web 服务是 Nginx: acme.sh --install-cert -d xxx.free-ai.top \ --key-file /home/aliketen/docker-compose-app/nginx/certs/xxx.free-ai.top_ssl.key \ --fullchain-file /home/aliketen/docker-compose-app/nginx/certs/xxx.free-ai.top_ssl.crt \ --reloadcmd "docker restart nginx-ds" #注意了需要当前用户对目录有写权限,如果没有添加一下权限