mirror of
https://github.com/yusing/godoxy.git
synced 2025-06-09 13:02:33 +02:00
added mkdir before saving cert
This commit is contained in:
parent
e7f6abf027
commit
43ecd80687
3 changed files with 21 additions and 17 deletions
BIN
bin/go-proxy
BIN
bin/go-proxy
Binary file not shown.
|
@ -9,6 +9,7 @@ import (
|
||||||
"crypto/x509"
|
"crypto/x509"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
|
"path"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -162,22 +163,6 @@ func (p *AutoCertProviderBase) ObtainCert() error {
|
||||||
return nil
|
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 {
|
func (p *AutoCertProviderBase) LoadCert() bool {
|
||||||
cert, err := tls.LoadX509KeyPair(certFileDefault, keyFileDefault)
|
cert, err := tls.LoadX509KeyPair(certFileDefault, keyFileDefault)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -192,6 +177,26 @@ func (p *AutoCertProviderBase) LoadCert() bool {
|
||||||
return true
|
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 {
|
type AutoCertCFProvider struct {
|
||||||
*AutoCertProviderBase
|
*AutoCertProviderBase
|
||||||
*cloudflare.Config
|
*cloudflare.Config
|
||||||
|
|
|
@ -53,7 +53,6 @@ func main() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
aclog.Infof("certificate will be expired at %v and get renewed", autoCertProvider.GetExpiry())
|
aclog.Infof("certificate will be expired at %v and get renewed", autoCertProvider.GetExpiry())
|
||||||
|
|
||||||
}
|
}
|
||||||
proxyServer = NewServer(
|
proxyServer = NewServer(
|
||||||
"proxy",
|
"proxy",
|
||||||
|
|
Loading…
Add table
Reference in a new issue