Преглед на файлове

enhance: limit cert renewal interval between 7 to 21 days

Jacky преди 1 година
родител
ревизия
e3876cffaf
променени са 2 файла, в които са добавени 11 реда и са изтрити 1 реда
  1. 1 1
      internal/cert/auto_cert.go
  2. 10 0
      settings/server.go

+ 1 - 1
internal/cert/auto_cert.go

@@ -60,7 +60,7 @@ func renew(certModel *model.Cert) {
 		notification.Error("Renew Certificate Error", strings.Join(certModel.Domains, ", "))
 		return
 	}
-	if int(time.Now().Sub(cert.NotBefore).Hours()/24) < settings.ServerSettings.CertRenewalInterval {
+	if int(time.Now().Sub(cert.NotBefore).Hours()/24) < settings.ServerSettings.GetCertRenewalInterval() {
 		// not after settings.ServerSettings.CertRenewalInterval, ignore
 		return
 	}

+ 10 - 0
settings/server.go

@@ -33,6 +33,16 @@ func (s *Server) GetCADir() string {
 	return lego.LEDirectoryProduction
 }
 
+func (s *Server) GetCertRenewalInterval() int {
+	if s.CertRenewalInterval < 7 {
+		return 7
+	}
+	if s.CertRenewalInterval > 21 {
+		return 21
+	}
+	return s.CertRenewalInterval
+}
+
 var ServerSettings = Server{
 	HttpHost:            "0.0.0.0",
 	HttpPort:            "9000",