fix: admin/internet: multidomain certificate renewal wasn't working
Massimo Melina committed
Mar 19, 2024 at 10:37 UTC
ddb3bf41db81948d7b4ad1db18688c4f92aaed84
1 file changed
+3
-3
src/acme.ts
+3
-3
@@ -62,7 +62,7 @@ async function generateSSLCert(domain: string, email?: string, altNames?: string
62
resolve() // go on anyway
63
}) )
64
acmeMiddlewareEnabled = true
65
- console.debug('acme challenge server ready')
65
+ console.debug("acme challenge server ready")
66
let tempMap: any
67
try {
68
const checkUrl = `http://${domain.split(',')[0]}`
@@ -125,7 +125,7 @@ events.once('https ready', () => repeat(HOUR, renewCert))
125
126
// checks if the cert is near expiration date, and if so renews it
127
const renewCert = debounceAsync(async () => {
128
- const domain = acmeDomain.get()
128
+ const [domain, ...altNames] = acmeDomain.get().split(',')
129
if (!acmeRenew.get() || !domain) return
130
const cert = getCertObject()
131
if (!cert) return
@@ -134,7 +134,7 @@ const renewCert = debounceAsync(async () => {
134
// not expiring in a month
135
if (now > new Date(cert.validFrom) && now < validTo && validTo.getTime() - now.getTime() >= 30 * DAY)
136
return console.log("certificate still good")
137
- await makeCert(domain, acmeEmail.get())
137
+ await makeCert(domain, acmeEmail.get(), altNames)
138
.catch(e => console.log("error renewing certificate: ", String(e.message || e)))
139
}, 0, { retain: DAY, retainFailure: HOUR })
140