可以实现自动续签证书的办法有很多。我在这里以FreeSSL和域名’demo.smallfang.us’为例,演示如何配置。
安装acme.sh脚本
首先,安装curl。
Ubuntu/Debian:
apt-get install curl
CentOS:
yum install curl
然后,执行:
curl https://get.acme.sh | sh
source ~/.bashrc
即完成了安装。
完成域名所有权验证
首先,打开https://freessl.cn/ ,并注册一个账户。
注册完成后,进入证书自动化=>域名授权
,后点击添加域名
。
在‘域名’一栏填入你将要使用的域名,‘记录类型’选择CNAME,然后点击下一步。
获取到要求的主机记录和记录值。
随后打开你的域名托管系统(我以Cloudflare为例),在你对应的域名下加入要求的值。
填写完验证信息之后点击关闭即可。
申请证书
进入ACME客户端
一栏,并点击申请证书
。
选择刚刚添加过记录值的域名,并点击下一步。
在FreeSSL提供的两种命令中,复制第一个(即调用acme.sh的那条指令)命令,并执行于服务器中。
得到以下返回信息,即说明成功。
迁移证书
acme.sh的官方文档中提到,脚本默认的保存路径仅供内部测试使用,不适合部署于生产环境。因此,我们需要将获取的证书迁移到别的文件夹。
命令模板:
1 | acme.sh --install-cert -d example.com \ |
注意:
第一 将第1行的’examlple.com’更改为自己的域名。
第二 将第2行和第3行的路径改为你想要存放证书的路径。
例如,我应该将指令改为:
1 | acme.sh --install-cert -d demo.smallfang.us \ |
执行后即可完成迁移证书。
至此,可自动续签的域名证书申请与配置已经完成。
其他操作补充
从管理目录中删除域名
1 | acme.sh --remove -d example.com |
将“example.com”替换为对应域名。
在更新证书后自动执行某一操作
1 | acme.sh --install-cert -d example.com --reloadcmd "%%%%%%" |
将“example.com”替换为对应域名。
将“%%%%%%”替换为你想要其自动执行的命令。
最后
写文章不易,如果有帮助的话就请在此页面的最下方点击“star”按钮进入我的仓库为我点上一颗star吧~
SmallFang的博客网站。欢迎与我联系。邮箱:sfxf09@gmail.com