目前基本上大部份用户都是将域名托管到Cloudflare下做dns解析使用,下面将如何在cloudflare下面的域名申请SSL证书,做个说明。
前期准备:
- Vps或者云服务器一台,需要国外的服务器。
- 将申请好的域名托管在Cloudflare下,并解析到Vps或者云服务器上。
- vps或者云服务安装好系统(Centos、Debian 、Ubuntu都可以)。
具体设置方法如下:
更新系统及安装curl
apt update -y #Debian/Ubuntu命令 apt install -y curl #Debian/Ubuntu命令 yum update -y #CentOS命令 yum install -y curl #CentOS命令
安装BBR加速
CentOS 8 / Debian ≥ 9 开启自带 BBR 加速 ,复制全部粘贴
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf sysctl -p lsmod | grep bbr
申请证书
一,DNS 验证申请证书
获取 Cloudflare API 令牌
在域名管理首页(右下角)找到如下图,获取 API 密钥:
安装 ACME
curl https://get.acme.sh | sh
设置 Cloudflare API 令牌
export CF_Key="8f97923701b6e26684f0da0bab64577e07952"
export CF_Email="hao123@126.com"
验证 DNS 并申请证书
若是DNS验证申请不下来,请尝试使用下面的 Web 验证的方式申请证书
更改下面的域名为你自己的域名(一条一条执行)
1, ~/.acme.sh/acme.sh --issue --dns dns_cf -d abc.xyz -d *.abc.xyz
2, mkdir /root/cert
3, ~/.acme.sh/acme.sh --installcert -d abc.xyz --key-file /root/cert/private.key --fullchain-file /root/cert/cert.crt
4, ~/.acme.sh/acme.sh --upgrade --auto-upgrade
5, chmod -R 755 /root/cert
以上就将生成的证书放在 /root/cert目录下了。申请的证书就是abc.xyz域名及所有二级域名
也可以用以上方法申请多域名/泛域名单证书, 多个域名里面包含的所有二级域名以及主域名都可以使用这个证书。
自行更改代码第一行就可以解决 多域名/泛域名 单证书了。
无论哪儿需要用到证书,多域名(包含域名下所有二级域名)用这个也就好了。
二,Web 验证申请证书
这种方式,需要开放 80 端口,并保持不被占用的状态,这种方式不支持泛域名。
首先安装 socat
apt install socat -y #Debian 安装代码
yum install socat -y #CentOS 安装代码
安装 ACME 并申请证书
更改下面的域名为你自己的域名
1, curl https://get.acme.sh | sh
2, ~/.acme.sh/acme.sh --issue -d www.abc.xyz --standalone
3, mkdir /root/cert
4, ~/.acme.sh/acme.sh --installcert -d www.abc.xyz --key-file /root/cert/private.key --fullchain-file /root/cert/cert.crt
5, ~/.acme.sh/acme.sh --upgrade --auto-upgrade
6, chmod -R 755 /root/cert
以上就将生成的证书放在 /root/cert目录下了。申请的证书是 域名 www.abc.xyz
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END