总览
一共分为以下几步:
- 安装acme.sh脚本
- 添加RAM账户并给予相关的权限
- 通过acme.sh签发证书
- 在nginx中完成配置
安装acme.sh脚本
运行指令:
curl https://get.acme.sh | sh
source ~/.bashrc
之后acme.sh就会被自动安装。执行这个指令时,root权限不是必须的,但能有的话最好不过。
安装完成后可以通过acme.sh --help
来确认安装。安装好后文件应当存放在~/.acme.sh/
。
添加阿里云RAM账户并赋予权限
(虽然是使用阿里云作为范例,但其他域名服务商一般也有类似的功能,能找到的话就可以用)
创建RAM用户
打开阿里云的RAM控制台,点击左侧的用户前往创建用户。
进入后点击蓝色的创建用户按钮,进入下图界面填写信息。
输入登录名称,并勾选OpenAPI调用访问。之后点确定创建用户。
在创建用户后,会提供给你AccessKey Id与Secret,请一定要保存好或者点击左上角的下载CSV,退出该界面后将无法再查看该信息,保存好后点左上角返回键回到用户管理界面。
赋予权限
创建完用户后,点击用户的添加权限按钮,为新创建的用户添加权限
在权限选择界面搜索dns,并勾选下图中所示的两项权限。之后点击确认授予保存。
通过acme.sh签发证书
配置环境变量
回到acme.sh,找出刚才保存的AccessKey ID和AccessKey Secret。将其加入环境变量。
使用
export Ali_Key="<你的AccessKey ID>"
export Ali_Secret="<你的AccessKey Secret>"
如果你使用的是其他域名服务商,环境变量的名字可以在这里找到
申请证书
现在准备工作完成了,让我们开始申请证书
使用:
acme.sh --issue --dns dns_ali -d example.com -d sample.example.com
(截图待补充)
在nginx中完成配置
签发下来的证书默认存放在acme.sh的安装目录。你可以根据自己的情况进行使用,以nginx为例,官方提供了安装指令:
acme.sh --install-cert -d example.com \
--key-file /path/to/keyfile/in/nginx/key.pem \
--fullchain-file /path/to/fullchain/nginx/cert.pem \
--reloadcmd "service nginx force-reload"
自动更新证书
在你使用acme.sh获取证书时,程序就已经自动创建了一个定时任务。你可以使用crontab -l
查看。
你可以试着执行第一条指令来验证是否有错误,记得加上--force
参数,因为刚申请完默认不会重复申请。
最后一次更新于2024-10-25
0 条评论