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大佬的博客
經過兩天的折騰終於完成了!希望之后能多更新一些博客吧,不放鴿子就是勝利!