Skip to content

Commit 7feca3b

Browse files
committed
fix
1 parent a25081f commit 7feca3b

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

cmd/web_acme.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,6 @@ func runACME(listenAddr string, m http.Handler) error {
5454
altTLSALPNPort = p
5555
}
5656

57-
// FIXME: this path is not right, it uses "AppWorkPath" incorrectly, and writes the data into "AppWorkPath/https"
58-
// Ideally it should migrate to AppDataPath write to "AppDataPath/https"
59-
certmagic.Default.Storage = &certmagic.FileStorage{Path: setting.AcmeLiveDirectory}
60-
magic := certmagic.NewDefault()
6157
// Try to use private CA root if provided, otherwise defaults to system's trust
6258
var certPool *x509.CertPool
6359
if setting.AcmeCARoot != "" {
@@ -67,7 +63,13 @@ func runACME(listenAddr string, m http.Handler) error {
6763
log.Warn("Failed to parse CA Root certificate, using default CA trust: %v", err)
6864
}
6965
}
70-
myACME := certmagic.NewACMEIssuer(magic, certmagic.ACMEIssuer{
66+
// FIXME: this path is not right, it uses "AppWorkPath" incorrectly, and writes the data into "AppWorkPath/https"
67+
// Ideally it should migrate to AppDataPath write to "AppDataPath/https"
68+
// And one more thing, no idea why we should set the global default variables here
69+
// But it seems that the current ACME code needs these global variables to make renew work.
70+
// Otherwise, "renew" will use incorrect storage path
71+
certmagic.Default.Storage = &certmagic.FileStorage{Path: setting.AcmeLiveDirectory}
72+
certmagic.DefaultACME = certmagic.ACMEIssuer{
7173
CA: setting.AcmeURL,
7274
TrustedRoots: certPool,
7375
Email: setting.AcmeEmail,
@@ -77,8 +79,10 @@ func runACME(listenAddr string, m http.Handler) error {
7779
ListenHost: setting.HTTPAddr,
7880
AltTLSALPNPort: altTLSALPNPort,
7981
AltHTTPPort: altHTTPPort,
80-
})
82+
}
8183

84+
magic := certmagic.NewDefault()
85+
myACME := certmagic.NewACMEIssuer(magic, certmagic.DefaultACME)
8286
magic.Issuers = []certmagic.Issuer{myACME}
8387

8488
// this obtains certificates or renews them if necessary

0 commit comments

Comments
 (0)