Cloudflare托管的域名申请SSL证书方法教程

目前基本上大部份用户都是将域名托管到Cloudflare下做dns解析使用,下面将如何在cloudflare下面的域名申请SSL证书,做个说明。

前期准备:

  1. Vps或者云服务器一台,需要国外的服务器。
  2. 将申请好的域名托管在Cloudflare下,并解析到Vps或者云服务器上。
  3. 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

    截屏2021-04-14-12.02.09

    申请证书

    一,DNS 验证申请证书

    获取 Cloudflare API 令牌

    在域名管理首页(右下角)找到如下图,获取 API 密钥:

1

2

安装 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
喜欢就支持一下吧
点赞0 分享