服務器使用的華為云,之前SSL
證書通過配置Cloudflare
的DNS
實現的,最近華為云備案提示需修改解析至境內華為云IP,若解析境外IP,域名無需備案,需注銷或取消接入備案信息,改為使用Certd
自搭建證書管理工具,自動申請、續簽、部署SSL
證書
Certd部署
使用Docker
方式部署
# 創建目錄
mkdir certd
# 進入目錄
cd certd
# 下載docker-compose.yaml文件,或者手動下載放到certd目錄下
wget https://gitee.com/certd/certd/raw/v2/docker/run/docker-compose.yaml# 可以根據需要修改里面的配置
# 1.修改鏡像版本號【可選】
# 2.配置數據保存路徑【可選】
# 3.修改端口號【可選】
vi docker-compose.yaml # 【可選】# 啟動certd
docker compose up -d
其他部署方式可參照Certd部署文檔
創建證書自動化流程
本示例演示從創建證書申請任務到自動部署證書全流程
申請證書->部署證書->設置定時執行->設置郵件通知
準備工作
- 已部署CertD服務(可官方Demo自助注冊體驗 https://certd.handfree.work/ )
- 注冊一個域名(支持阿里云萬網、騰訊云DnsPod、華為云)
- 準備好以上DNS解析服務商的
AccessKey
和AccessSecret
- 證書要部署的目標(可選,單純當成證書申請工具用也不錯)
自動化流水線創建
1.創建證書申請部署流水線
需要添加域名的DNS
解析服務商的授權
流水線創建成功
2.流水線詳情界面
到這一步申請證書就已經配置完成了。
點擊手動觸發,就可以申請證書了。
接下來演示如何添加部署任務
3.添加部署到阿里云CDN任務
點擊添加任務
選擇任務類型
填寫任務參數
此處,我是用的華為云,在【華為云控制臺】–【內容分發網絡CDN】,購買了流量包,開啟CDN服務并配置好域名之后,在CDN
加速域名選項才可以選擇
點擊確定,部署到CDN任務配置成功
4.添加部署到服務器主機任務
點擊新任務,彈出添加任務界面
先選擇上傳到主機任務
填寫任務參數,比如證書保存路徑
需要添加主機ip
、用戶名、密碼,只需添加一次,后續其他任務可以復用
然后添加第二個任務,執行主機命令,部署證書
選擇執行腳本命令任務
編寫腳本,選擇之前添加的主機
點擊確定,部署到主機任務配置成功
5.手動觸發執行任務,測試一下
點擊任務可以查看狀態和日志
這里執行失敗,可以查看錯誤日志
修改正確后,重新執行
可以看到前面執行過的就會跳過,不會重復執行
6.查看證書部署效果
可以看到證書已經部署到CDN
成功
也可以手動下載證書
7.定時觸發
配置定時觸發,以后每天定時執行
cron
格式,例如: 0 0 3 * * *
表示每天凌晨3點執行
到期前35天會自動申請新證書并部署,沒到期前不會重復申請
8.郵件通知
可以接收郵件通知(支持時機:開始、成功、失敗、失敗轉成功)
需要配置郵件服務器
詳細流程參照Certd演示教程
華為云CDN配置
域名管理
支持添加泛域名作為加速域名,如:在CDN添加泛域名*.test.com作為加速域名,并將*.test.com解析至CDN生成的CNAME域名后,那么您所有*.test.com的次級域名(如a.test.com)都將默認支持CDN加速。泛域名(*.test.com)的三級域名(如b.a.test.com)不會被CDN加速
此處我添加了兩個域名,一個一級域名,一個二級的泛域名
源站配置
源站地址配置為你的服務器IP
地址,回溯HOST
是你配置的域名
回源配置
回源方式設置為HTTP
,第一次設置為HTTPS
導致頁面無法訪問
HTTPS配置
此處如果證書流水線運行成功,就會顯示你申請的證書
配置強制跳轉和HSTS
強制跳轉可以將客戶端到CDN
節點的請求方式強制跳轉為HTTPS
。
開啟HSTS
后,CDN
將響應給客戶端Strict-Transport-Security
頭部。客戶端緩存該頭部后,將自動把HTTP
請求轉為HTTPS
請求訪問CDN
節點,提升訪問安全性。
CNAME配置
如果已成功添加CDN加速域名,系統會自動為CDN加速域名分配對應的CNAME域名。加速域名在CDN服務中獲得的CNAME域名不能直接訪問,必須在加速域名的域名服務商處配置CNAME記錄,將加速域名指向CNAME域名,訪問加速域名的請求才能轉發到CDN節點上,達到加速效果。
1.在域名管理頁面,復制CDN
加速域名對應的CNAME
域名
2.在DNS
解析頁面,將原本的A記錄類型均改為CNAME
域名解析