Share via

App Service Managed Certificate HTTP token validation fails for CNAME subdomain — CheckARecordForHttp requires A record despite docs stating CNAME is supported

kasin-ik 20 Reputation points
2026-04-03T05:42:24.9066667+00:00

Environment:

Subscription: <redacted subscription id>

App Service: <redacted app svc name>, West US 2, P1V2 Linux

App Service Plan: <redacted plan name>

Custom domain: <redacted custom domain>

DNS hosted in Azure DNS zone <redacted actual domain name>

Nameservers: ns1-03.azure-dns.com, ns2-03.azure-dns.net, ns3-03.azure-dns.org, ns4-03.azure-dns.info

DNS Records configured:

<app-name> CNAME 3600 <app_name>-app.azurewebsites.net

asuid.<app_name> TXT 300 [redacted value]

DNS resolution confirmed from all resolvers:

dig <app-name>.<domain-name> CNAME @ns1-03.azure-dns.com +short → <app_name>.azurewebsites.net

Google public DNS

dig <app-name>.<domain-name> CNAME @8.8.8.8 +short → <app_name>.azurewebsites.net

Full resolution chain

nslookup <app-name>.<domain-name> 8.8.8.8

→ <app-name>.<domain-name> CNAME <app-name>-app.azurewebsites.net

→ <app-name>-app.azurewebsites.net CNAME waws-prod-mwh-xxx.sip.azurewebsites.windows.net

→ waws-prod-mwh-xxx-yyyy.westus2.cloudapp.azure.com A <app-svc-ip-address>

No CAA records exist on rai-rcl.com

Hostname binding: Successfully added via az webapp config hostname add → hostNameType: Verified ✓

Managed cert creation failure — all combinations tried:


|HTTPS_ONLY | Easy Auth | DNS record | Error |


|ON | Enabled | CNAME | "Current CNAME record is empty" |

|ON | Enabled | CNAME | "Current CNAME record is empty" |

|OFF | Enabled | CNAME | CheckARecordForHttp — "A record not found" |

|OFF | AllowAnonymous | CNAME | Same A record error |

|OFF | Fully disabled | CNAME | Same A record error |

|ON | Enabled | A record | Ensure CNAME is set to <the app service managed url>|

|OFF | Fully disabled | A record | Still failed |


Diagnostic log (from Diagnose and Solve Problems):

Create Managed Certificate | <app-name>.<domain-name> | Failed | HTTP DNS Check Failed

Cause: [CheckARecordForHttp/ValidatedWebspaceASMCRequests] Not found A record directly

pointing to ip address <app-ip-address> of website <app-svc-name> where the hostname was added

in the webspace <resource-group>-WestUS2webspace-Linux of server farm <app-svc-plan>.

Current A record of the hostname <app-name>.<domain-name> has no A record set.

Azure's own DNS diagnostic result (same subscription, same session):

✅ DNS Name resolution check passed — <app-name>.<domain-name> resolves to (correct IP) CNAME chain fully visible: <app-name>.<domain-name> → <app-name>-app.azurewebsites.net → waws-prod-mwh-xxx... → (correct IP)

Azure App Service
Azure App Service

Azure App Service is a service used to create and deploy scalable, mission-critical web apps.


Answer accepted by question author
  1. Praneeth Maddali 7,310 Reputation points Microsoft External Staff Moderator
    2026-04-08T09:59:05.9533333+00:00

    Hello @kasin-ik

    Apologies for the delay.

    I’ve coordinated with the backend team and verified that the blocker has been resolved. This should now be functioning properly. Please check on your end and confirm. If you require any additional support, just let us know.

    0 comments No comments

1 additional answer

Sort by: Most helpful
  1. Q&A Assist
    2026-04-03T05:42:42.2166667+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    The managed certificate flow is failing because the validation logic is explicitly requiring an A record that points directly to the app’s IP, even though CNAME is generally supported for custom domains. This behavior matches the documented requirement for certain certificate scenarios: for free managed certificates and apex-domain certificates, an A record must exist and point to the web app IP, and CNAME-only configurations are not sufficient for HTTP-based validation.

    From the context:

    • For root domains, an A record plus TXT is required; for subdomains, CNAME is preferred for domain mapping, but the managed certificate renewal/validation path still has stricter rules in some cases.
    • The free managed certificate and apex domain certificate require the A record to point to the web app's IP address and the subdomain CNAME to point to <app-name>.azurewebsites.net. If these conditions are not met, certificate issuance/renewal is blocked.
    • The error in the diagnostic log (CheckARecordForHttp / “A record not found”) is consistent with this requirement.

    Given the behavior and the available documentation, the practical resolution is:

    1. Ensure DNS is configured in the pattern required for managed certificates:
      • For the hostname being secured, create an A record pointing directly to the web app’s IP address (from the App Service “Custom domains” blade or az webapp config hostname list).
      • For subdomains, keep or add the CNAME pointing to <app-name>.azurewebsites.net if needed for other scenarios, but do not have both A and CNAME for the same name; choose one per hostname as required.
      • Ensure the TXT verification record (for domain ownership) is present and correct where required (for root domains, TXT at @; for subdomains, asuid.<subdomain>), as described in the custom domain and certificate troubleshooting guidance.
    2. Avoid conflicting records:
      • Do not configure both an A record and a CNAME record for the same hostname, as this causes resolution conflicts and can prevent Azure from validating the domain and issuing the certificate.
    3. After DNS is corrected:
      • Wait for DNS propagation (up to 48 hours in worst case, but typically much less).
      • Use global DNS tools to confirm that the hostname resolves either via A record directly to the app IP (for the managed certificate requirement) or via the documented A+TXT/CNAME patterns.
      • Retry the managed certificate creation from the App Service TLS/SSL settings.

    If the hostname must remain CNAME-only and cannot have an A record pointing to the app IP, the built-in managed certificate mechanism may not complete HTTP validation for that specific configuration. In that case, the alternative is to use a different certificate option (for example, an App Service certificate or an external certificate uploaded as PFX) and bind it manually, following the documented certificate lifecycle (Buy/Store/Verify/Import/Bind).


    References:

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.