站点图标 Lee's Blog

linux中使用acme.sh的dnsapi配置证书

详细可以参考官方文档:https://github.com/acmesh-official/acme.sh/wiki/dnsapi

首先要先获取解析域名网站账户中的API,我使用的是Cloudflare


  1. 首先登录cf账号,进入右上角的My Profile
  2. 然后进入API Tokens,点击Create Tokens新建一个Tokens,创建API令牌,

此处注意Permissions要2条,Zone.Zone和Zone.DNS,权限为Edit可编辑,Resources设置为All zones。

  1. 紧接着在API页面中,下面的Global API KEY 也要用到,他是CF_KEY
  2. export CF_Key="sdfsdfsdfljlbjkljlkjsdfoiwje"
    export CF_Email="xxxx@sss.com"
    export CF_Token="sdfsdfsdfljlbjkljlkjsdfoiwje"
    export CF_Account_ID="xxxxxxxxxxxxx"
    

把他们写好分别在终端中输入,id就是cf页面中的32位字符

  1. acme.sh --issue --dns dns_cf -d example.com -d www.example.com
    

运行,等待即可。

  1. CF_KeyCF_EmailCF_TokenCF_Account_ID将被保存~/.acme.sh/account.conf,需要时会被重用。
  2. copy/安装 证书

acme.sh --installcert -d domain.com \
--key-file /usr/local/nginx/conf/ssl/www.domain.cn.key \
--fullchain-file /usr/local/nginx/conf/ssl/www.domain.cn.cer \
--reloadcmd "service nginx reload"

(一个小提醒, 这里用的是 service nginx force-reload, 不是 service nginx reload, 据测试, reload 并不会重新加载证书, 所以用的 force-reload)

–installcert命令可以携带很多参数, 来指定目标文件. 并且可以指定 reloadcmd, 当证书更新以后, reloadcmd会被自动调用,让服务器生效.


参考文章:https://www.cnblogs.com/xiaoyige/p/12667640.html

退出移动版