前言

现在但凡是网站都还是需要用到HTTPS证书的。我先前使用cerbot.sh脚本和cerbot软件去生成letssencrypt证书。都不算是好用。知道最近发现的acme.sh。略作尝试后总结这个是我用过最方便的。不需要安装依赖,只需要做一些配置,就可以使用了。非常方便。在这里记录下使用的是方法。
用法方面可以直接参考这个链接;
acme.sh使用说明

配置dns服务商(阿里云为例)

如果你使用dns验证的方法,需要配置云服务的dns解析权限。上面教程给出了一些配置的方法使用export 参数的的方案,但实际上,也可以在 .acme.sh 文件夹里的account.conf 文件中配置。以下给出我的配置作为例子:

#LOG_FILE="/root/.acme.sh/acme.sh.log"
#LOG_LEVEL=1

#AUTO_UPGRADE="1"

#NO_TIMESTAMP=1

    
UPGRADE_HASH='377a37e4c9c23bb6988fe5f8863f21b19d3e3a40'
ACCOUNT_EMAIL='[email protected]'
SAVED_Ali_Key='阿里云的子用户key'
SAVED_Ali_Secret='阿里云的子用户Secret'
DEFAULT_ACME_SERVER='https://acme-v02.api.letsencrypt.org/directory'

你需要在阿里云账号创建一个子用户,授予dns的全部权限。如果你的云服务不是阿里云,你需要做相应的修改。

生成通配符证书

之后你可以使用一下命令生成通配符证书

acme.sh --issue --dns dns_ali -d aa.com -d *.aa.com

之后你在.acme.sh文件夹内生成aa.com_ecc文件夹,证书就在其中,且是通配符证书。

生成rsa证书

现在默认情况下,acme.sh 会自动生成ecc算法的证书,通常来说ecc算法要更好一些,但如果你需要rsa算法的证书,就需要调整下你的命令了。

acme.sh --issue --dns dns_ali -d *.aaa.com --keylength 2048

更多用法请查阅其他资料。

标签: none

添加新评论