家庭宽带环境,80、443端口都被运营商封了,使用acme.sh脚本申请证书,选择DNS验证的方式来申请颁发证书,这种方式不需要你具备网页服务器。只要能够验证DNS就可以申请成功。
准备:
- 域名一个
- cloudflare账号一个,用于托管域名(https://www.cloudflare.com/zh-cn/)
- linux系统(OpenWrt)
1.安装acme.sh,如果提示安装不成功,多试几次
curl https://get.acme.sh | sh -s email=my@example.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="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" #使用全局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 <你的域名> --key-file /root/cert/Private.key --fullchain-file /root/cert/Cert.crt --ca-file /root/cert/CA.crt
8.设置自动更新
acme.sh --upgrade --auto-upgrade
暂无评论...