netssl工具自動部署證書

本工具目前支援部署到1Panel網站、SSH部署、七牛雲CDN、七牛雲OSS、華為雲CDN、寶塔面板、本機部署、火山CDN、百度雲CDN、騰訊雲CDN、騰訊雲COS、騰訊雲EdgeOne、騰訊雲WAF、阿里雲CDN、阿里雲ESA、阿里雲OSS、阿里雲WAF等。

一、linux環境下netssl工具自動部署服務

需先參考netssl自動簽發證書,點擊查看,在netssl中新增證書和申請證書後才可以使用netssl工具進行自動部署。

netssl deploy 1

本文檔以部署到七牛雲、本機命令和寶塔為例,如下圖所示,其他服務可以參考netssl中的命令示例:

參考命令:

netssl deploy 1
{"provider": "localhost","keyPath": "/etc/nginx/ssl/example.com.key","certPath": "/etc/nginx/ssl/example.com.crt","beforeCmd": "cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak","afterCmd": "nginx -s reload"}
{"provider": "btpanel-site","url": "http://127.0.0.1:8888","api_key": "asgasgh21241mgd","siteName": "now.cn"}
{"provider":"qiniu-oss","access_key":"1234","access_secret":"sdgsdhsh","domain":"now.cn"}

netssl deploy 證書id,新增的部署目標可以多個,回車下一個以空格結束。

示例中第一個新增的是本機命令列,keypath是舊的證書key的路徑,certpath是舊證書的crt路徑,beforcmd是前置執行的命令,aftercmd是後續執行的命令,通過該配置就可以自動替換掉舊的證書並重啟ngixn,apache與之類似。

第二個示例是寶塔的,url是寶塔的地址,apikey是寶塔的key,siteName是寶塔網站的域名。需寶塔apikey白名單放行當前工具所在的ip。

第三個示例是新增七牛存儲的證書,access_secret是七牛網站生成的key,domain是綁定的域名。

其他服務與示例中類似,在服務商申請apikey然後填寫到本工具中。配置過一次後netssl工具會記錄歷史配置資訊,無需再進行配置。如果需要修改之前的配置可以使用netssl deploy 證書id -reset 重啟配置。

二、計劃任務配置自動簽發與部署

  1. 前提條件:第一次需要按照證書自動簽發與部署的文檔,手動將證書令牌新增到netssl中,然後配置簽發與部署。netssl會記錄該配置資訊。

  2. 證書必須在時代互聯後台購買足夠的時長,才能使netssl自動去簽發。

  3. 在計劃任務中運行,可以一個月運行一次,目前檢測證書不足30天會自動去申請重新簽發部署。

crontab -e
# # # # #/1 netssl apply 1 && netssl deploy 1