时间:2023-02-13 15:51:01 | 来源:建站知识
时间:2023-02-13 15:51:01 来源:建站知识
之前为自己的网站添加了SSL证书,目前已经稳定运行了2年左右。这里为大家介绍一下怎么使用acme.sh给自己的多个网站(主域和多个子域。比如:*.http://baidu.com)申请免费的SSL证书。
Let's Encrypt 提供了单域名证书,泛域名证书和多域名证书0.GitHub地址:https://github.com/acmesh-official/acme.sh1.在线安装
curl https://get.acme.sh | sh
ORwget -O - https://get.acme.sh | sh
创建acme.sh别名alias acme.sh=~/.acme.sh/acme.sh
安装过程中会添加cronjob,每天自动检测所有证书是否需要更新。查看定时任务(证书有效期一般为90天,acme.sh会在证书失效之前进行自动更新):crontab -e
2.设置acme.sh自动升级acme.sh --upgrade --auto-upgrade
3.使用DNS API(泛域名证书只能通过DNS API申请)必要条件:域名已经添加了解析(绑定了服务器IP)acme.sh提供了两种方式进行验证域名所有权,一种是通过HTTP API,另一种是通过DNS API。
export JD_ACCESS_KEY_ID="sdfsdfsdfljlbjkljlkjsdfoiwje"export JD_ACCESS_KEY_SECRET="xxxxxxx"#查看添加的系统变量echo $JD_ACCESS_KEY_ID
c.通过DNS API验证所有权,并生成证书(证书默认被保存在~/.acme.sh/目录中)acme.sh --issue --dns dns_jd -d example.com -d '*.example.com'
id和key会被保存到~/.acme.sh/account.conf文件中,如果id或key发生变更,可能需要进行修改d.copy/安装 证书(如果不使用install-cert命令进行安装,证书更新之后还是被保存在默认目录,会导致已有证书过期之后无法被自动更新)
acme.sh --install-cert -d myflag.xyz /--key-file /etc/nginx/ssl/key.pem /--fullchain-file /etc/nginx/ssl/cert.pem /--reloadcmd "service nginx force-reload"
只用输入域名即可,不需要添加其他前缀指定的所有参数都会被自动记录下来, 并在将来证书自动更新以后, 被再次自动调用
关键词:证书