前言
在阿里雲買了一個域名giantliu.cn
部署了自己的博客系統 https://www.giantliu.cn/
所有用https證書是Let's Encrypt免費申請的
因為申請的免費證書有效期是3個月,今天正好原來的過期了
這里要重新申請新的證書。所以在這里記錄一下
目錄
1.安裝Certbot
2.申請證書
3.轉換證書格式
4.安裝證書
安裝Certbot
Certbot是輔助申請Let's Encrypt證書的工作
打開Certbot官網 官網地址
第一步是選擇申請證書的種類,這樣Certbot可以根據選擇的種類
來幫助你在不同的環境里申請證書
這里我選擇None of the above On Windows
然后下面會提示我們申請證書的步驟
這里主要的步驟是在要在C盤創建一個目錄C:\Certbot並且當前用戶有權限操作
然后下載Certbot安裝文件 下載地址
下載后安裝
然后我們以管理員方式運行命令行
certbot --help
如果出現以下信息,就表示Certbot安裝成功了
申請證書
因為我們要申請的證書是通配符證書
這樣我只要申請了giantliu.cn的通配符證書后
那以giantliu.cn的所有子域都可以用這一個證書
輸入以下命令
#以下命令表以以DNS的方式驗證giantliu.cn的域名來申請通配符證書
#通配符證書的域名為*.giantliu.cn
certbot certonly -d *.giantliu.cn --manual --preferred-challenges dns
輸入命令后,會出現幾個要互交的地方
1.輸入你的email地址:郵件地址
2.閱讀服務說明書並同意:A
3.步是別人要用共享你的郵件地址,給你推送相關信息:Y
4.問你是不是有這個域名的所有權
因為它要你解析一個TXT記錄到固定地址來驗證你是有這個域名的所有權的:Y
然后最下面就是要你解釋一個TXT記錄到_acme-challenge.giantliu.cn
值為:amJUh7UHWPm-CXCTaKtYIinUR3dYpmPWmgxKsnryZLo
到了這一步后,不要急於按回車結束
因為你還沒有解析記錄,不然會申請不成功的
接下來,因為我的域名解析是在阿里雲做的,
所以我跑到阿里雲的域名解析那里添加了一條TXT記錄
添加的記錄並不一定馬上解析成功,所以我們要驗證這個TXT記錄是不是已經生效
我們打開一個新的命令行,輸入以下命令
查詢看得到的值是不是正確,如果與結果一至
那么我們就可以在原來的申請證書的命令行按回車繼續我們的申請
nslookup -qt=TXT _acme-challenge.giantliu.cn
按下回車后,Certbot會去驗證我們的DNS記錄
然后如果驗證成功,會把申請到的證書保存到我們的
C:\Certbot\live\giantliu.cn
轉換證書格式
因為我的博客服務器是用的IIS
而IIS所使用的證書為pfx,所以我們要把申請的證書pem格式轉換成pfx格式
我們輸入以下openssl命令(要安裝openssl工具)
openssl pkcs12 -export -out giantliu.pfx -inkey privkey.pem -in fullchain.pem -certfile cert.pem
安裝證書
然后我們把轉換后的證書giantliu.pfx復制到服務器
點右鍵安裝證書,一直下一步到密碼
然后輸入證書密碼,輸入剛剛用openssl轉換時輸入的密碼
然后一直下一步,直到完成
這樣證書就已經導入到服務器了
然后在IIS管理器里面就可以看到我才申請的證書
接下來就可以把原來的網站綁定的證書換成新的證書
然后再看來我的博客,
HTTPS又回來了
個人博客原文 https://www.giantliu.cn/2020/10/30/201030FreeLetsEncryptSSL/