acme.sh 实现了acme协议, 可以从 letsencrypt 生成免费的证书,并且支持自动续期。
acme申请证书
安装acme.sh
curl https://get.acme.sh | sh -s [email protected]
alias acme.sh=~/.acme.sh/acme.sh
使用DNS API申请
dns方式申请支持腾讯云、阿里云、Cloufflare等厂商,这里以cloudflare为例。
export CF_Key="填入自己的API Keys"
export CF_Email="填入注册的cloudflare邮箱"
acme.sh --issue -d yourdomain.com --dns dns_cf
安装证书
默认生成的证书都放在root目录下,尽量不要直接使用此目录下的文件,可以把生成的证书copy到自己的证书路径下使用。下面的路径/etc/nginx/certs换成自己的证书路径即可。
acme.sh --installcert -d yourdomain.com \
--key-file /etc/nginx/certs/key.pem \
--fullchain-file /etc/nginx/certs/cert.pem
直接使用cloudflare证书
很多时候自己的域名需要开启CF黄色小云朵,使用cloudflare的证书就显得极为方便,省去了acme申请证书续期的麻烦。CF证书最大有限期为15年。
复制申请的源证书和私钥后,在证书路径下例如/etc/nginx/certs/分别保存为cert.pem和key.pem即可。
参考链接:https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E