An Azure service that provides private connectivity from a virtual network to Azure platform as a service, customer-owned, or Microsoft partner services.
Hi @Chaitra Shivanand Kulkarni (INFOSYS LIMITED) ,
This does sound like a DNS-zone / DNS-linking issue rather than a Private Endpoint connectivity issue especially since you mentioned the Private Endpoint exists and DNS records appear to be present, but the caller can’t resolve.
- Confirm the caller resolves the correct private name to the private endpoint IP
For App Service / Function Apps using Private Endpoint, the client must resolve the app hostname (for example in the privatelink.azurewebsites.net namespace) to the private IP assigned to the private endpoint.
A quick built-in style test mentioned in the docs is:
- Use
nameresolverto test name resolution to a private IP:nameresolver mywebapp.<AppServiceDefaultDomainSuffix> - If name resolution fails (or resolves to the public address), private connectivity won’t work.
- Ensure the Private DNS zone is available to the source VNet doing the lookup
The Private Endpoint name resolution relies on Private DNS zones. If the VNet where the caller app is integrated doesn’t have the right zone/records available (or can’t reach Azure DNS / the configured DNS server), the caller will fail with name-resolution-style errors (for example: “remote name could not be resolved”).
So the “multiple privatelink.azurewebsites.net zones” suspicion often maps to:
- the caller VNet being linked to a different private DNS zone instance than the one containing the correct A record
- or the DNS server in the VNet not having the right records
How this maps to your specific questions
- “Does this diagnosis sound correct?”
Yes, your diagnosis is directionally correct: when you have multiple private endpoints that rely on the same DNS namespace (privatelink.azurewebsites.net), misalignment between:
- the A record(s) for
privatelink.azurewebsites.net - and the Private DNS zone association/linking from the caller VNet
can cause DNS resolution failure even when the Private Endpoint and DNS records exist somewhere.
- Recommended approach for multi-region/multi-subscription with
privatelink.azurewebsites.net
- use Private DNS zone(s) such that the VNet hosting the caller can resolve the private endpoint FQDN to the private IP
- and ensure DNS records exist in the zone that the caller actually uses
Where it gets tricky in multi-region/subscription is which DNS zone instance the caller VNet is using for privatelink.azurewebsites.net. The docs provided don’t explicitly describe a “single shared zone across subscriptions/regions” mechanism for privatelink.azurewebsites.net, but the operational requirement is consistent: the caller must be able to resolve the name to the private IP via the DNS it uses.
- How to determine which
privatelink.azurewebsites.netzone the source VNet is resolving against?
- From a VM / environment in the caller side VNet, verify resolution:
-
nslookup <private-endpoint-fqdn>
-
- Or use the
nameresolvertest to confirm it resolves to the private IP (as described above). - If you’re using a custom DNS server instead of Azure DNS, ensure forwarding/config is correct so that the DNS server can resolve the Private DNS zone records.
- Is there a supported pattern to share one
privatelink.azurewebsites.netzone across subscriptions/regions, or consolidate records?
The App Service / Function Apps Private Link DNS, you should use the private DNS zone privatelink.azurewebsites.net and that with Private DNS zone groups, records are automatically added to the Private DNS zone.
However, do not explicitly confirm whether Microsoft supports a “single zone shared across subscriptions/regions” as a general pattern. So for your forum answer, you can frame it as:
- “There must be a Private DNS zone configuration that the caller VNet can query successfully, and records must land in the zone that the caller uses.”
- If you operate custom DNS, you’ll need DNS entries/forwarding so the caller can resolve to the private IP.
Extra workaround to validate DNS (App settings guidance)
If you’re in the specific scenario where a webapp/app with Private Endpoint calls another app privately and resolution fails because the integrated VNet DNS doesn’t have the zone, the docs suggest forcing Azure DNS for name resolution by setting:
-
WEBSITE_DNS_SERVERto168.63.129.16(Azure DNS server)
This takes precedence over the VNet DNS server configuration and can confirm whether DNS availability is the blocker.
Hope this helps!
If the resolution was helpful, kindly take a moment to click on and click on Yes for was this answer helpful. And, if you have any further query do let us know.