使用acme.sh申请通配符证书

警告
本文最后更新于 2023-05-16,文中内容可能已过时。

acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书.

1
2
3
4
5
6
7
8
curl https://get.acme.sh | sh
wget -O - https://get.acme.sh | sh
#以上两种方式我均未成功
wget https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh
chmod +x acme.sh
./acme.sh --install
source ~/.bashrc
acme.sh --upgrade

执行以下命令,本文以阿里云解析为例,申请Ali_Key和Ali_Secret

1
2
3
4
export Ali_Key="abcd"
export Ali_Secret="1234"

acme.sh --dns dns_ali --issue -d domain.com -d \*.domain.com -d \*.test.domain.com

三级域名需要*.xxx.domain.com才可以使用

1
2
3
4
5
mkdir -p /data/ssl_cert/domain.com

acme.sh --install-cert -d domain.com \
--key-file /data/ssl_cert/domain.com/domain.com.key  \
--fullchain-file /data/ssl_cert/domain.com/domain.com.cer

证书导出路径

1
2
/data/ssl_cert/domain.com/domain.com.key
/data/ssl_cert/domain.com/domain.com.cer
1
0 */72 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

72小时重载一次

为了配合证书生效,需要重载Nginx才行,所以添加一个定时重载Nginx

进行crontab编辑 crontab -e

1
0 */72 * * * /usr/sbin/service nginx reload  > /dev/null

72小时重载一次

关于阿里云的acme.sh泛域名申请到此结束

传送门:https://app.zerossl.com/signup

2020-12-01T15:28:22.png

传送门:https://app.zerossl.com/developer

2020-12-01T15:31:26.png

点击生成会生成你的eab-kid和eab-hmac-key,复制保存下来;

1
2
3
acme.sh  --register-account  --server zerossl \
        --eab-kid  你的eab-kid \
        --eab-hmac-key  你的eab-hmac-key

切换acme.sh的默认CA为ZeroSSL

1
acme.sh --set-default-ca  --server zerossl

相关内容