域名绑定服务器——从域名注册到使用certbot调用Cloudflare api申请SSL证书

0.前言

因为这两天开始折腾起云服务器的原因,就将自己的一些小笔记记录为博客用以温习与帮助到其他看到这些博客的小伙伴,让我们废话少说直接开始。

1.域名的注册

通常我们都可以在云服务供应商处找到代注册域名的方式,这里以腾讯云举例:域名注册购买_域名注册选购 - 腾讯云 (tencent.com)

在选好域名并完成实名等步骤成功下单后我们可以看到在域名控制台会出现我们的域名,在等待审核完成后我们就可以开始我们的操作了(其他的域名代注册也基本大同小异)。

2.使用Cloudflare对域名进行DNS解析并获取API

一般在腾讯云代注册的域名会由DNSPod进行解析,其他代注册一般也都有自家的DNS解析服务,不过我们还是选择使用Cloudflare来进行DNS解析并绑上我们的服务器

首先我们进入Cloudflare官网

没有账号要先进行账号注册

右上角可以切换语言为简体中文

注册完成后登录账号,然后大概就会看到下图所示,我们点击“添加站点”

输入域名后添加站点,然后就会看到选择计划这里我们选择免费的

在快速扫描之后我们可以为我们的域名添加DNS记录

接着会提示需要更改DNS指向Cloudflare的服务器,我们把提示“单击复制”的那两个链接复制下来

我们再开个页面,然后回到腾讯云域名控制台

点击更多→修改DNS,登陆验证后会出现这个,我们点击自定义DNS

然后分别填入刚刚复制的两个链接然后提交

amy.ns.cloudflare.com
sam.ns.cloudflare.com

等待DNS激活然后回到Cloudflare,点击你的站点,进入“概述”页面下拉可以看到“获取您的API令牌”的选项,点击进入后会看到这个页面

我们点击查看Global API Key

在登陆后就可以查看并复制API

3.使用certbot调用cloudflare api申请证书

连接我们的服务器,这里以Debian为例

首先获取更新
apt-get update
然后安装软件包
apt-get install certbot python3-certbot-nginx python3-certbot-dns-cloudflare
创建文件夹
mkdir -p ~/.secrets/certbot
给权限
chmod 700 ~/.secrets
用vim在这个文件夹里创建一个新文件
vim ~/.secrets/certbot/cloudflare.ini
按i键进入编辑模式,输入以下内容

dns_cloudflare_email = #这里填进你注册cloudflare的邮箱
dns_cloudflare_api_key = #这里粘贴刚才复制的Global API Key

esc键退出编辑模式后按:键进入命令模式,输入wq后回车保存文件并退出vim

接着我们再输入命令给这个文件400权限
chmod 400 ~/.secrets/certbot/cloudflare.ini

然后我们要输入一长串的命令,注意要先把example.com换成你的域名,以及example@xxx.com要换成你的邮箱,在编辑完成后运行命令

certbot certonly -d 'example.com, *.example.com' --agree-tos --email example@xxx.com --server https://acme-v02.api.letsencrypt.org/directory --dns-cloudflare --dns-cloudflare-credentials ~/.secrets/certbot/cloudflare.ini --dns-cloudflare-propagation-seconds 30

完成后输入cd /etc/letsencrypt/archive/就能看到你的域名证书文件的文件夹,再cd进你的文件夹再ls一下应该就能看到

ert1.pem chain1.pem domain.txt fullchain1.pem privkey1.pem

到这里我们的教程就基本结束了,在最后要感谢我的好友Nios34的帮助以及Carry00大佬的博客

经过两天的折腾终于完成了!希望之后能多更新一些博客吧,不放鸽子就是胜利!

posted @ 2021-11-21 17:12  S3nR0  阅读(1917)  评论(0编辑  收藏  举报