@@ -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