added mkdir before saving cert

This commit is contained in:
yusing 2024-03-23 03:16:27 +00:00
parent e7f6abf027
commit 43ecd80687
3 changed files with 21 additions and 17 deletions

Binary file not shown.

View file

@ -9,6 +9,7 @@ import (
"crypto/x509"
"fmt"
"os"
"path"
"sync"
"time"
@ -162,22 +163,6 @@ func (p *AutoCertProviderBase) ObtainCert() error {
return nil
}
func (p *AutoCertProviderBase) saveCert(cert *certificate.Resource) error {
err := os.WriteFile(keyFileDefault, cert.PrivateKey, 0600) // -rw-------
if err != nil {
return err
}
err = os.WriteFile(certFileDefault, cert.Certificate, 0644) // -rw-r--r--
if err != nil {
return err
}
return nil
}
func (p *AutoCertProviderBase) needRenew() bool {
return p.expiry.Before(time.Now().Add(24 * time.Hour))
}
func (p *AutoCertProviderBase) LoadCert() bool {
cert, err := tls.LoadX509KeyPair(certFileDefault, keyFileDefault)
if err != nil {
@ -192,6 +177,26 @@ func (p *AutoCertProviderBase) LoadCert() bool {
return true
}
func (p *AutoCertProviderBase) saveCert(cert *certificate.Resource) error {
err := os.MkdirAll(path.Dir(certFileDefault), 0644)
if err != nil {
return fmt.Errorf("unable to create cert directory: %v", err)
}
err = os.WriteFile(keyFileDefault, cert.PrivateKey, 0600) // -rw-------
if err != nil {
return fmt.Errorf("unable to write key file: %v", err)
}
err = os.WriteFile(certFileDefault, cert.Certificate, 0644) // -rw-r--r--
if err != nil {
return fmt.Errorf("unable to write cert file: %v", err)
}
return nil
}
func (p *AutoCertProviderBase) needRenew() bool {
return p.expiry.Before(time.Now().Add(24 * time.Hour))
}
type AutoCertCFProvider struct {
*AutoCertProviderBase
*cloudflare.Config

View file

@ -53,7 +53,6 @@ func main() {
}
}
aclog.Infof("certificate will be expired at %v and get renewed", autoCertProvider.GetExpiry())
}
proxyServer = NewServer(
"proxy",