Skip to content

Commit efbdd87

Browse files
authored
Merge pull request #110241 from v-dihans/front-door-wildcard-domain
editpass: front-door-wildcard-domain
2 parents f15ae12 + e483ced commit efbdd87

File tree

1 file changed

+35
-27
lines changed

1 file changed

+35
-27
lines changed
Lines changed: 35 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Azure Front Door - Support for wildcard domains
3-
description: This article helps you understand how Azure Front Door supports mapping and managing wildcard domains in the list of custom domains
3+
description: This article helps you understand how Azure Front Door supports mapping and managing wildcard domains in the list of custom domains.
44
services: frontdoor
55
author: sharad4u
66
ms.service: frontdoor
@@ -14,55 +14,63 @@ ms.author: sharadag
1414

1515
# Wildcard domains
1616

17-
Other than apex domains and subdomains, you can also map a wildcard domain name to your list of frontend hosts or custom domains of your Front Door profile. Having wildcard domains in your Front Door config simplifies traffic routing behavior for multiple subdomains for an API, application, or website from the same routing rule without having to modify the configuration to add and/or specify each subdomain separately. As an example, you can define the routing for `customer1.contoso.com`, `customer2.contoso.com`, and `customerN.contoso.com` using the same routing rule by adding a wildcard domain `*.contoso.com`.
17+
Other than apex domains and subdomains, you can map a wildcard domain name to your list of front-end hosts or custom domains in your Azure Front Door profile. Having wildcard domains in your Azure Front Door configuration simplifies traffic routing behavior for multiple subdomains for an API, application, or website from the same routing rule. You don't need to modify the configuration to add or specify each subdomain separately. As an example, you can define the routing for `customer1.contoso.com`, `customer2.contoso.com`, and `customerN.contoso.com` by using the same routing rule and adding the wildcard domain `*.contoso.com`.
1818

19-
Some of the key scenarios that are solved with support for wildcard domains include:
19+
Key scenarios that are improved with support for wildcard domains include:
2020

21-
- No longer needed to onboard each subdomain on your Front Door and then enabling HTTPS to bind a certificate for each subdomain.
22-
- If an application adds a new subdomain, then you are no longer required to change your production Front Door configuration. Else, earlier it required adding the subdomain, binding a certificate to it, attaching a web application firewall (WAF) policy, adding the domain to different routing rules.
21+
- You don't need to onboard each subdomain in your Azure Front Door profile and then enable HTTPS to bind a certificate for each subdomain.
22+
- You're no longer required to change your production Azure Front Door configuration if an application adds a new subdomain. Previously, you had to add the subdomain, bind a certificate to it, attach a web application firewall (WAF) policy, and then add the domain to different routing rules.
2323

2424
> [!NOTE]
25-
> Currently, wildcard domains are only supported via the API, PowerShell and CLI. Support for adding managing wildcard domains via Azure portal is not available.
25+
> Currently, wildcard domains are only supported via API, PowerShell, and the Azure CLI. Support for adding and managing wildcard domains in the Azure portal isn't available.
2626
2727
## Adding wildcard domains
2828

29-
You can onboard a wildcard domain under the Frontend Hosts or Domains section. Similar to subdomains, Front Door validates that there is a CNAME mapping for your wildcard domain as well. This DNS mapping can be a direct CNAME mapping like `*.contoso.com` mapped to `contoso.azurefd.net` or via the afdverify temporary mapping like `afdverify.contoso.com` mapped to `afdverify.contoso.azurefd.net` validates CNAME map for wildcard as well (Azure DNS supports wildcard records).
29+
You can add a wildcard domain under the section for front-end hosts or domains. Similar to subdomains, Azure Front Door validates that there is CNAME record mapping for your wildcard domain. This DNS mapping can be a direct CNAME record mapping like `*.contoso.com` mapped to `contoso.azurefd.net`. Or you can use afdverify temporary mapping. For example, `afdverify.contoso.com` mapped to `afdverify.contoso.azurefd.net` validates the CNAME record map for the wildcard.
3030

31-
You can also add as many single level subdomains of the wildcard domain in frontend hosts if they are not hitting the max. limit of frontend hosts. This functionality may be required for defining a different route for a subdomain than the rest of the domains (from the wildcard domain) or having a different WAF policy for a specific subdomain. So, `*.contoso.com` will allow adding `foo.contoso.com` without having to again prove domain ownership but not `foo.bar.contoso.com` as that is not a single level subdomain of `*.contoso.com`. To add `foo.bar.contoso.com` without additional domain ownership validation, `*.bar.contosonews.com` will need to be added.
31+
> [!NOTE]
32+
> Azure DNS supports wildcard records.
33+
34+
You can add as many single-level subdomains of the wildcard domain in front-end hosts, up to the limit of the front-end hosts. This functionality might be required for:
35+
36+
- Defining a different route for a subdomain than the rest of the domains (from the wildcard domain).
37+
38+
- Having a different WAF policy for a specific subdomain. For example, `*.contoso.com` allows adding `foo.contoso.com` without having to again prove domain ownership. But it doesn't allow `foo.bar.contoso.com` because it isn't a single level subdomain of `*.contoso.com`. To add `foo.bar.contoso.com` without additional domain ownership validation, `*.bar.contosonews.com` needs to be added.
3239

33-
### Limitations
40+
You can add wildcard domains and their subdomains with certain limitations:
3441

35-
1. If a wildcard domain is added in a given Front Door profile, then the same cannot be added to any other Front Door profile.
36-
2. If a wildcard domain is added in a given Front Door profile, then any subdomains of that wildcard domain cannot be added to other Front Door or an Azure CDN from Microsoft profile
37-
3. If a subdomain of a wildcard domain is added either in a Front Door profile or an Azure CDN from Microsoft profile, then the wildcard domain cannot be added to any other Front Door profile.
38-
4. If two profiles (Front Door or Azure CDN from Microsoft) have various subdomains of a root domain, then wildcard domains can't be added on either of the profiles.
42+
- If a wildcard domain is added to an Azure Front Door profile:
43+
- The wildcard domain can't be added to any other Azure Front Door profile.
44+
- First-level subdomains of the wildcard domain can't be added to another Azure Front Door profile or an Azure Content Delivery Network profile.
45+
- If a subdomain of a wildcard domain is added to an Azure Front Door profile or Azure Content Delivery Network profile, then the wildcard domain can't be added to other Azure Front Door profiles.
46+
- If two profiles (Azure Front Door or Azure Content Delivery Network) have various subdomains of a root domain, then wildcard domains can't be added to either of the profiles.
3947

40-
## Certificate binding for wildcard domains and its subdomains
48+
## Certificate binding
4149

42-
For accepting HTTPS traffic on your wildcard domain, you must enable HTTPS on the wildcard domain. The certificate binding for wildcard domain requires a wildcard certificate, that is, the certificate's subject name should also have the wildcard domain.
50+
For accepting HTTPS traffic on your wildcard domain, you must enable HTTPS on the wildcard domain. The certificate binding for a wildcard domain requires a wildcard certificate. That is, the subject name of the certificate should also have the wildcard domain.
4351

4452
> [!NOTE]
45-
> Currently, only using your own custom SSL certificate option is available for enabling HTTPS for wildcard domains. Front Door managed certificates cannot be used for wildcard domains.
53+
> Currently, only using your own custom SSL certificate option is available for enabling HTTPS for wildcard domains. Azure Front Door managed certificates can't be used for wildcard domains.
4654
47-
You can choose to use the same wildcard certificate from your Key Vault for the subdomains, or, use of Front Door Managed certificates for subdomains is also supported.
48-
If a subdomain is added for a wildcard domain and the wildcard domain already had a certificate associated, then HTTPS for this subdomain cannot be disabled. The subdomain will by default use the wildcard domain's certificate binding, unless overridden by a different Key Vault certificate or Front Door managed certificate.
55+
You can choose to use the same wildcard certificate from Azure Key Vault or from Azure Front Door managed certificates for subdomains.
4956

50-
## Web application firewall for wildcard domains and its subdomains
57+
If a subdomain is added for a wildcard domain that already has a certificate associated with it, then HTTPS for the subdomain can't be disabled. The subdomain uses the certificate binding for the wildcard domain, unless a different Key Vault or Azure Front Door managed certificate overrides it.
5158

52-
WAF policies can be attached to a wildcard domain similar to other domains. A different WAF policy can be applied to a subdomain of a wildcard domain. For the subdomains, you must explicitly specify the WAF policy to be used and even if it is the same policy as the wildcard domain. Subdomains will **not** automatically inherit the WAF policy from the wildcard domain.
59+
## WAF policies
5360

54-
If you have a scenario where you do not want WAF to run for a subdomain, then you can create a blank WAF policy with no managed or custom rulesets.
61+
WAF policies can be attached to wildcard domains, similar to other domains. A different WAF policy can be applied to a subdomain of a wildcard domain. For the subdomains, you must specify the WAF policy to be used even if it's the same policy as the wildcard domain. Subdomains do *not* automatically inherit the WAF policy from the wildcard domain.
5562

56-
## Routing rules for wildcard domains and its subdomains
63+
If you don't want a WAF policy to run for a subdomain, you can create an empty WAF policy with no managed or custom rulesets.
5764

58-
When configuring a routing rule, you can select a wildcard domain as a frontend host. You can also have different route behavior for wildcard domain vs. subdomains. As described in [how Front Door does route matching](front-door-route-matching.md), the most specific match for the domain across different routing rules will be chosen at runtime.
65+
## Routing rules
5966

60-
> [!WARNING]
61-
> If you have two routing rules like **Route 1**: `*.foo.com/*` mapped to Backend Pool A and **Route 2**: `bar.foo.com/somePath/*` mapped to Backend Pool B and if a request arrives for `bar.foo.com/anotherPath/*`, then your clients will see failures as Front Door will not find any match across both the routes. This is because per our [route matching algorithm](front-door-route-matching.md), Front Door will select Route 2 based on more specific domain match, but only to find that there are no matching path patterns.
67+
When configuring a routing rule, you can select a wildcard domain as a front-end host. You can also have different route behavior for wildcard domains and subdomains. As described in [How Azure Front Door does route matching](front-door-route-matching.md), the most specific match for the domain across different routing rules is chosen at runtime.
6268

69+
> [!IMPORTANT]
70+
> You must have matching path patterns across your routing rules, or your clients will see failures. For example, you have two routing rules like Route 1 (`*.foo.com/*` mapped to back-end pool A) and Route 2 (`bar.foo.com/somePath/*` mapped to back-end pool B). Then, a request arrives for `bar.foo.com/anotherPath/*`. Azure Front Door selects Route 2 based on a more specific domain match, only to find no matching path patterns across the routes.
6371
6472
## Next steps
6573

66-
- Learn how to [create a Front Door](quickstart-create-front-door.md).
67-
- Learn how to [add a custom domain on Front Door](front-door-custom-domain.md).
74+
- Learn how to [create an Azure Front Door profile](quickstart-create-front-door.md).
75+
- Learn how to [add a custom domain on Azure Front Door](front-door-custom-domain.md).
6876
- Learn how to [enable HTTPS on a custom domain](front-door-custom-domain-https.md).

0 commit comments

Comments
 (0)