From 50d988a62b0671be3eab4dfed1ac91999349d06a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Thu, 2 Jan 2025 18:07:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=87=AA=E5=8A=A8=E7=BB=AD=E7=AD=BE?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E8=AF=81=E4=B9=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/job/cert_renew.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/internal/job/cert_renew.go b/internal/job/cert_renew.go index 8ea6e217..15c20eee 100644 --- a/internal/job/cert_renew.go +++ b/internal/job/cert_renew.go @@ -2,6 +2,7 @@ package job import ( "log/slog" + "path/filepath" "time" "gorm.io/gorm" @@ -9,6 +10,8 @@ import ( "github.com/tnb-labs/panel/internal/app" "github.com/tnb-labs/panel/internal/biz" pkgcert "github.com/tnb-labs/panel/pkg/cert" + "github.com/tnb-labs/panel/pkg/io" + "github.com/tnb-labs/panel/pkg/shell" ) // CertRenew 证书续签 @@ -58,4 +61,19 @@ func (r *CertRenew) Run() { r.log.Warn("续签证书失败", slog.Any("err", err)) } } + + // 续签面板证书 + panelCert, err := io.Read(filepath.Join(app.Root, "panel/storage/cert.pem")) + if err != nil { + r.log.Warn("读取面板证书失败", slog.Any("err", err)) + return + } + decode, err := pkgcert.ParseCert(panelCert) + if err != nil { + r.log.Warn("解析面板证书失败", slog.Any("err", err)) + return + } + if decode.NotAfter.Sub(time.Now()).Hours() < 24*7 { + _, err = shell.Exec("panel-cli https generate") + } }