家庭宽带环境,80、443端口都被运营商封了,使用acme.sh脚本申请证书,选择DNS验证的方式来申请颁发证书,这种方式不需要你具备网页服务器。只要能够验证DNS就可以申请成功。

  准备:
- 域名一个
- cloudflare账号一个,用于托管域名(https://www.cloudflare.com/zh-cn/)
- linux系统(OpenWrt)

1.安装acme.sh,如果提示安装不成功,多试几次


curl https://get.acme.sh -s | sh -s email=29908699@qq.com


 2.创建acme.sh软连接

 

ln -s /root/.acme.sh/acme.sh /usr/bin/acme.sh

 4.使用Let's Encrypt证书颁发机构

 

acme.sh --set-default-ca --server letsencrypt

 
 5.配置API验证我们使用DNS验证方式申请证书,需要先到cloudflare获取API令牌。编辑验证信息,复制API令牌以及登录cloudflare的邮箱。  

export CF_Key="xxxxxxxxxxxxxx" #使用全局apikey
export CF_Email="youremail@qq.com"

6.申请证书

acme.sh --issue --dns dns_cf -d *.xxxxx.xxx --ecc #申请[泛域名证书]

 7.安装证书新建一个文件夹,把证书安装到这个文件夹

mkdir /root/cert/ #创建一个目录来存放证书
acme.sh --installcert -d *.xxxxx.xxx --key-file /root/cert/Private.key --fullchain-file /root/cert/Cert.crt --ca-file /root/cert/CA.crt

 8.设置自动更新
 

acme.sh --upgrade --auto-upgrade