跳转到主要内容

免费申请ssl证书

注册账号

在网站 https://zerossl.com/ 注册账号,按下图步骤获取acme key , 将EAB KIDEAB HMAC key记录下来

安装和使用

参考网址:https://github.com/acmesh-official/acme.sh

# 安装
wget -O -  https://get.acme.sh | sh

# 增加别名(非必要)
alias acme.sh=~/.acme.sh/acme.sh

# 进入到执行目录(非必要)
cd /root/.acme.sh


# 2023-1-1 更新,更换了默认证书提供商为zerossl
# https://github.com/acmesh-official/acme.sh/wiki/ZeroSSL.com-CA


# 绑定和配置账号,填入你前面记录的EAB KID和EAB HMAC key
./acme.sh  --register-account  --server zerossl \
       --eab-kid  <your kid>  \
       --eab-hmac-key  <your key>

      
# 配置默认证书提供商
./acme.sh --set-default-ca  --server zerossl


# 第一步
./acme.sh --debug  --issue  --dns -d *.saas.vppark.cn  --yes-I-know-dns-manual-mode-enough-go-ahead-please --server zerossl


# 增加DNS txt验证记录


# 申请证书,多了一个参数 --renew
./acme.sh --debug  --issue --renew  --dns -d *.saas.vppark.cn  --yes-I-know-dns-manual-mode-enough-go-ahead-please --server zerossl


# 查看本地证书

./acme.sh --list


# 更新所有的证书
acme.sh --renew-all --server zerossl


# 安装证书, 主要是两个文件,私匙(key)和证书(cer)
key: *.saas.vppark.cn.key
cer: fullchain.cer

# 查看证书过期日期
openssl x509 -enddate -noout -in fullchain.cer
openssl x509 -text -noout -in fullchain.cer

# 如果后续进行更新,使用的是zerossl,需要到zerossl网站下载更新的证书。并且将两个证书进行合并,否则会提示证书链不完整。

# 升级软件
acme.sh --upgrade

使用 阿里云 dnsapi自定添加域名认证

更多其他域名提供商api使用方法:https://github.com/acmesh-official/acme.sh/wiki/dnsapi

使用阿里云dns api时,需要先获取到Ali_Key和Ali_Secret,获取方法为

  • 进入阿里云账号,点击 AccessKey管理

  • 获取和创建你的api key


# 参考网站:https://github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_ali

# 设置阿里云dns api需要的key和secret
export Ali_Key="<key>"
export Ali_Secret="<secret>"


# 申请证书

./acme.sh --issue --dns dns_ali -d *.qq829.cn -d qq829.cn

# --dns dns_ali 使用阿里云dns api
# key保存于 /root/.acme.sh/account.conf
# 保存的key和secret被重命名为  SAVED_Ali_Key='<key>'和SAVED_Ali_Secret='<secret>'

# 如果你的dns提供商不支持acme api或者你没有权限管理主域名,可以使用dns cname模式

# 在主域名上增加cname记录
# acme需要验证的域名永远是 _acme-challenge.xxx.yyy.com
# 在你的主域名dns解析上面增加 _acme-challenge.xxx.yyy.com => _acme-challenge.qq829.cn 类似的记录
# 为了便于

# 使用dns别名自动验证域名并申请证书
./acme.sh --issue --dns dns_ali -d vppark.cn  -d *.vppark.cn  -d *.saas.vppark.cn -d *.ihg.vppark.cn -d *.devops.vppark.cn  --challenge-alias acme-vppark-cn.qq829.cn --force

# --challenge-alias acme-vppark-cn.qq829.cn 指定dns别名,acme 将自动在别名域名上添加相关认证记录,使认证域名记录变成 _acme-challenge.acme-vppark-cn.qq829.cn
# 既主域名设置的别名于别名记录有一定的匹配关系
# 例如,主域名的别名设置应该是 _acme-challenge.saas.vppark.cn => _acme-challenge.acme-vppark-cn.qq829.cn
# 而不是 _acme-challenge.saas.vppark.cn => acme-vppark-cn.qq829.cn
# 而acme.sh命令行的参数 --challenge-alias 是 acme-vppark-cn.qq829.cn,既acme会自动加上 _acme-challenge 使之变成 _acme-challenge.acme-vppark-cn.qq829.cn 而与主域名对应上


# 查看证书过期日期
openssl x509 -enddate -noout -in fullchain.cer
openssl x509 -text -noout -in fullchain.cer