From 8c59579e1e57924be9690e81f41a0c557fef254b Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 11:40:31 -0800 Subject: [PATCH] Fix wrong record name for dnsme --- .../acme/acme-certificate-authority-fns.ts | 6 +++++- .../acme/dns-providers/dns-made-easy.ts | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts b/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts index 8dbb9512f..445a2f032 100644 --- a/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts +++ b/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts @@ -243,7 +243,11 @@ export const orderCertificate = async ( throw new Error("Unsupported challenge type"); } - const recordName = `_acme-challenge.${authz.identifier.value}`; // e.g., "_acme-challenge.example.com" + let recordName = `_acme-challenge.${authz.identifier.value}`; // e.g., "_acme-challenge.example.com" + if (acmeCa.configuration.dnsProviderConfig.provider === AcmeDnsProvider.DNSMadeEasy) { + // For DNS Made Easy, we don't need to provide the domain name in the record name. + recordName = "_acme-challenge"; + } const recordValue = `"${keyAuthorization}"`; // must be double quoted switch (acmeCa.configuration.dnsProviderConfig.provider) { diff --git a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts index 2824e0005..87c21e264 100644 --- a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts +++ b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts @@ -18,6 +18,7 @@ export const dnsMadeEasyInsertTxtRecord = async ( credentials: { apiKey, secretKey } } = connection; + logger.info({ hostedZoneId, domain, value }, "Inserting TXT record for DNS Made Easy"); try { await request.post( getDNSMadeEasyUrl(`/V2.0/dns/managed/${encodeURIComponent(hostedZoneId)}/records`), @@ -64,6 +65,7 @@ export const dnsMadeEasyDeleteTxtRecord = async ( credentials: { apiKey, secretKey } } = connection; + logger.info({ hostedZoneId, domain, value }, "Deleting TXT record for DNS Made Easy"); try { // First, list records to find the record ID const listRecordsResponse = await request.get<{