Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 2a54085

Browse files
committedJul 20, 2020
wildcard listener release docs
1 parent 7aca623 commit 2a54085

20 files changed

+90
-113
lines changed
 

‎articles/application-gateway/application-gateway-components.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: application-gateway
55
author: abshamsft
66
ms.service: application-gateway
77
ms.topic: conceptual
8-
ms.date: 02/20/2019
8+
ms.date: 07/20/2020
99
ms.author: absha
1010
---
1111

@@ -64,13 +64,13 @@ There are two types of listeners:
6464

6565
- **Basic**. This type of listener listens to a single domain site, where it has a single DNS mapping to the IP address of the application gateway. This listener configuration is required when you host a single site behind an application gateway.
6666

67-
- **Multi-site**. This listener configuration is required when you configure more than one web application on the same application gateway instance. It allows you to configure a more efficient topology for your deployments by adding up to 100 websites to one application gateway. Each website can be directed to its own backend pool. For example, three subdomains, abc.contoso.com, xyz.contoso.com, and pqr.contoso.com, point to the IP address of the application gateway. You'd create three multi-site listeners and configure each listener for the respective port and protocol setting.
67+
- **Multi-site**. This listener configuration is required when you want to configure routing based on host name or domain name for more than one web application on the same application gateway. It allows you to configure a more efficient topology for your deployments by adding up to 100+ websites to one application gateway. Each website can be directed to its own backend pool. For example, three domains, contoso.com, fabrikam.com, and adatum.com, point to the IP address of the application gateway. You'd create three [multi-site listeners](multiple-site-overview.md) and configure each listener for the respective port and protocol setting.
6868

69-
For more information, see [Multiple-site hosting](application-gateway-web-app-overview.md).
69+
You can also define wildcard host names in a multi-site listener and up to 5 host names per listener. To learn more, see [wildcard host names in listener (preview)](multiple-site-overview.md#wildcard-host-names-in-listener-(preview)).
7070

71-
After you create a listener, you associate it with a request routing rule. This rule determines how the request received on the listener should be routed to the backend.
71+
For more information on how to configure a multi-site listener, see [Multiple-site hosting in Application Gateway using Azure portal](create-multiple-sites-portal.md).
7272

73-
Application Gateway processes listeners in the [order shown](configuration-overview.md#order-of-processing-listeners).
73+
After you create a listener, you associate it with a request routing rule. This rule determines how the request received on the listener should be routed to the backend. The request routing rule also contains the backend pool to be routed to and the HTTP setting where the backend port, protocol, etc. are mentioned.
7474

7575
## Request routing rules
7676

‎articles/application-gateway/configuration-overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: application-gateway
55
author: vhorne
66
ms.service: application-gateway
77
ms.topic: conceptual
8-
ms.date: 03/24/2020
8+
ms.date: 07/20/2020
99
ms.author: absha
1010
---
1111

@@ -141,7 +141,7 @@ When you create a new listener, you choose between [*basic* and *multi-site*](ht
141141

142142
- If you want all of your requests (for any domain) to be accepted and forwarded to backend pools, choose basic. Learn [how to create an application gateway with a basic listener](https://docs.microsoft.com/azure/application-gateway/quick-create-portal).
143143

144-
- If you want to forward requests to different backend pools based on the *host* header or hostname, choose multi-site listener, where you must also specify a hostname that matches with the incoming request. This is because Application Gateway relies on HTTP 1.1 host headers to host more than one website on the same public IP address and port.
144+
- If you want to forward requests to different backend pools based on the *host* header or host names, choose multi-site listener, where you must also specify a host name that matches with the incoming request. This is because Application Gateway relies on HTTP 1.1 host headers to host more than one website on the same public IP address and port. To learn more, see [hosting multiple sites using Application Gateway](multiple-site-overview.md).
145145

146146
#### Order of processing listeners
147147

‎articles/application-gateway/create-multiple-sites-portal.md

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: application-gateway
66
author: vhorne
77
ms.service: application-gateway
88
ms.topic: tutorial
9-
ms.date: 07/26/2019
9+
ms.date: 07/20/2020
1010
ms.author: victorh
1111
#Customer intent: As an IT administrator, I want to use the Azure portal to set up an application gateway so I can host multiple sites.
1212
---
@@ -25,7 +25,7 @@ In this tutorial, you learn how to:
2525
> * Create routing rules
2626
> * Create a CNAME record in your domain
2727
28-
![Multi-site routing example](./media/create-multiple-sites-portal/scenario.png)
28+
:::image type="content" source="./media/create-multiple-sites-portal/scenario.png" alt-text="Multi-site Application Gateway":::
2929

3030
If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
3131

@@ -46,7 +46,7 @@ Sign in to the Azure portal at [https://portal.azure.com](https://portal.azure.c
4646
- **Resource group**: Select **myResourceGroupAG** for the resource group. If it doesn't exist, select **Create new** to create it.
4747
- **Application gateway name**: Enter *myAppGateway* for the name of the application gateway.
4848

49-
![Create new application gateway: Basics](./media/application-gateway-create-gateway-portal/application-gateway-create-basics.png)
49+
:::image type="content" source="./media/application-gateway-create-gateway-portal/application-gateway-create-basics.png" alt-text="Create Application Gateway":::
5050

5151
2. For Azure to communicate between the resources that you create, it needs a virtual network. You can either create a new virtual network or use an existing one. In this example, you'll create a new virtual network at the same time that you create the application gateway. Application Gateway instances are created in separate subnets. You create two subnets in this example: one for the application gateway, and another for the backend servers.
5252

@@ -62,7 +62,7 @@ Sign in to the Azure portal at [https://portal.azure.com](https://portal.azure.c
6262

6363
Select **OK** to close the **Create virtual network** window and save the virtual network settings.
6464

65-
![Create new application gateway: virtual network](./media/application-gateway-create-gateway-portal/application-gateway-create-vnet.png)
65+
:::image type="content" source="./media/application-gateway-create-gateway-portal/application-gateway-create-vnet.png" alt-text="Create VNet":::
6666

6767
3. On the **Basics** tab, accept the default values for the other settings and then select **Next: Frontends**.
6868

@@ -74,7 +74,7 @@ Sign in to the Azure portal at [https://portal.azure.com](https://portal.azure.c
7474
7575
2. Choose **Create new** for the **Public IP address** and enter *myAGPublicIPAddress* for the public IP address name, and then select **OK**.
7676

77-
![Create new application gateway: frontends](./media/application-gateway-create-gateway-portal/application-gateway-create-frontends.png)
77+
:::image type="content" source="./media/application-gateway-create-gateway-portal/application-gateway-create-frontends.png" alt-text="Create VNet":::
7878

7979
3. Select **Next: Backends**.
8080

@@ -92,7 +92,7 @@ The backend pool is used to route requests to the backend servers that serve the
9292
3. In the **Add a backend pool** window, select **Add** to save the backend pool configuration and return to the **Backends** tab.
9393
4. Now add another backend pool called *fabrikamPool*.
9494

95-
![Create new application gateway: backends](./media/create-multiple-sites-portal/backend-pools.png)
95+
:::image type="content" source="./media/create-multiple-sites-portal/backend-pools.png" alt-text="Create Backends":::
9696

9797
4. On the **Backends** tab, select **Next: Configuration**.
9898

@@ -113,9 +113,12 @@ On the **Configuration** tab, you'll connect the frontend and backend pools you
113113
- **Listener type**: Multiple sites
114114
- **Host name**: **www.contoso.com**
115115

116+
>[!NOTE]
117+
> With Application Gateway or WAF v2 SKU, you can also configure up to 5 host names per listener and you can use wildcard characters in the host name. See [wildcard host names in listener](multiple-site-overview.md#wildcard-host-names-in-listener-(preview)) for more information.
118+
116119
Accept the default values for the other settings on the **Listener** tab, then select the **Backend targets** tab to configure the rest of the routing rule.
117120

118-
![Create new application gateway: listener](./media/create-multiple-sites-portal/routing-rule.png)
121+
:::image type="content" source="./media/create-multiple-sites-portal/routing-rule.png" alt-text="Create routing rule":::
119122

120123
4. On the **Backend targets** tab, select **contosoPool** for the **Backend target**.
121124

@@ -124,7 +127,7 @@ On the **Configuration** tab, you'll connect the frontend and backend pools you
124127
6. On the **Add a routing rule** window, select **Add** to save the routing rule and return to the **Configuration** tab.
125128
7. Select **Add a rule** and add a similar rule, listener, backend target, and HTTP setting for Fabrikam.
126129

127-
![Create new application gateway: routing rule](./media/create-multiple-sites-portal/fabrikamRule.png)
130+
:::image type="content" source="./media/create-multiple-sites-portal/fabrikamRule.png" alt-text="Fabrikam rule":::
128131

129132
7. Select **Next: Tags** and then **Next: Review + create**.
130133

‎articles/application-gateway/features.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,13 +79,13 @@ For more information, see [URL Path Based Routing overview](url-route-overview.m
7979

8080
## Multiple-site hosting
8181

82-
Multiple-site hosting enables you to configure more than one web site on the same application gateway instance. This feature allows you to configure a more efficient topology for your deployments by adding up to 100 web sites to one Application Gateway (for optimal performance). Each web site can be directed to its own pool. For example, application gateway can serve traffic for `contoso.com` and `fabrikam.com` from two server pools called ContosoServerPool and FabrikamServerPool.
82+
With Application Gateway, you can configure routing based on host name or domain name for more than one web application on the same application gateway. It allows you to configure a more efficient topology for your deployments by adding up to 100+ websites to one application gateway. Each website can be directed to its own backend pool. For example, three domains, contoso.com, fabrikam.com, and adatum.com, point to the IP address of the application gateway. You'd create three multi-site listeners and configure each listener for the respective port and protocol setting.
8383

84-
Requests for `http://contoso.com` are routed to ContosoServerPool, and `http://fabrikam.com` are routed to FabrikamServerPool.
84+
Requests for `http://contoso.com` are routed to ContosoServerPool, `http://fabrikam.com` are routed to FabrikamServerPool, and so on.
8585

86-
Similarly, two subdomains of the same parent domain can be hosted on the same application gateway deployment. Examples of using subdomains could include `http://blog.contoso.com` and `http://app.contoso.com` hosted on a single application gateway deployment.
86+
Similarly, two subdomains of the same parent domain can be hosted on the same application gateway deployment. Examples of using subdomains could include `http://blog.contoso.com` and `http://app.contoso.com` hosted on a single application gateway deployment. For more information, see [Application Gateway multiple site hosting](multiple-site-overview.md).
8787

88-
For more information, see [Application Gateway multiple site hosting](multiple-site-overview.md).
88+
You can also define wildcard host names in a multi-site listener and up to 5 host names per listener. To learn more, see [wildcard host names in listener (preview)](multiple-site-overview.md#wildcard-host-names-in-listener-(preview)).
8989

9090
## Redirection
9191

Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

‎articles/application-gateway/multiple-site-overview.md

Lines changed: 54 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,18 @@ description: This article provides an overview of the Azure Application Gateway
44
services: application-gateway
55
author: vhorne
66
ms.service: application-gateway
7-
ms.date: 03/11/2020
7+
ms.date: 07/20/2020
88
ms.author: amsriva
99
ms.topic: conceptual
1010
---
1111

1212
# Application Gateway multiple site hosting
1313

14-
Multiple site hosting enables you to configure more than one web application on the same port of an application gateway. This feature allows you to configure a more efficient topology for your deployments by adding up to 100 websites to one application gateway. Each website can be directed to its own backend pool. In the following example, application gateway serves traffic for `contoso.com` and `fabrikam.com` from two back-end server pools called ContosoServerPool and FabrikamServerPool.
14+
Multiple site hosting enables you to configure more than one web application on the same port of an application gateway. It allows you to configure a more efficient topology for your deployments by adding up to 100+ websites to one application gateway. Each website can be directed to its own backend pool. For example, three domains, contoso.com, fabrikam.com, and adatum.com, point to the IP address of the application gateway. You'd create three multi-site listeners and configure each listener for the respective port and protocol setting.
1515

16-
![imageURLroute](./media/multiple-site-overview/multisite.png)
16+
You can also define wildcard host names in a multi-site listener and up to 5 host names per listener. To learn more, see [wildcard host names in listener](#wildcard-host-names-in-listener-(preview)).
17+
18+
:::image type="content" source="./media/multiple-site-overview/multisite.png" alt-text="Multi-site Application Gateway":::
1719

1820
> [!IMPORTANT]
1921
> Rules are processed in the order they are listed in the portal for the v1 SKU. For the v2 SKU, exact matches have higher precedence. It is highly recommended to configure multi-site listeners first prior to configuring a basic listener. This will ensure that traffic gets routed to the right back end. If a basic listener is listed first and matches an incoming request, it gets processed by that listener.
@@ -22,6 +24,53 @@ Requests for `http://contoso.com` are routed to ContosoServerPool, and `http://f
2224

2325
Similarly, you can host multiple subdomains of the same parent domain on the same application gateway deployment. For example, you can host `http://blog.contoso.com` and `http://app.contoso.com` on a single application gateway deployment.
2426

27+
## Wildcard host names in listener (Preview)
28+
29+
Application Gateway allows host-based routing using multi-site HTTP(S) listener. Now, you have the ability to use wildcard characters like asterisk (*) and question mark (?) in the host name, and up to 5 host names per multi-site HTTP(S) listener. For example, `*.contoso.com`.
30+
31+
Using a wildcard character in the host name, you can match multiple host names in a single listener. For example, `*.contoso.com` can match with `ecom.contoso.com`, `b2b.contoso.com` as well as `customer1.b2b.contoso.com` and so on. Using an array of host names, you can configure more than one host name for a listener, to route requests to a backend pool. For example, a listener can contain `contoso.com, fabrikam.com` which will accept requests for both the host names.
32+
33+
:::image type="content" source="./media/multiple-site-overview/wildcardlistener-diag.png" alt-text="Wildcard Listener":::
34+
35+
>[!NOTE]
36+
> This feature is in preview and is available only for Standard_v2 and WAF_v2 SKU of Application Gateway. It is not recommended to use this in a production environment. To learn more about previews, see [terms of use here](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
37+
38+
In [Azure portal](create-multiple-sites-portal.md), you can define them in separate text boxes in the host name field.
39+
40+
:::image type="content" source="./media/multiple-site-overview/wclexample1.png" alt-text="Wildcard Listener example configuration":::
41+
42+
In [Azure PowerShell](tutorial-multiple-sites-powershell.md), you must use `-HostNames` instead of `-HostName`. With HostNames, you can mention up to 5 host names as comma-separated values and use wildcard characters. For example, `-HostNames "*.contoso.com,*.fabrikam.com"`
43+
44+
In [Azure CLI](tutorial-multiple-sites-cli.md), you must use `--host-names` instead of `--host-name`. With host-names, you can mention up to 5 host names as comma-separated values and use wildcard characters. For example, `--host-names "*.contoso.com,*.fabrikam.com"`
45+
46+
### Allowed characters in the host names field:
47+
48+
* `(A-Z,a-z,0-9)` - alphanumeric characters
49+
* `-` - hyphen or minus
50+
* `.` - period as a delimiter
51+
* `*` - can match with multiple characters in the allowed range
52+
* `?` - can match with a single character in the allowed range
53+
54+
### Conditions for using wildcard characters and multiple host names in a listener:
55+
56+
* You can only mention up to 5 host names in a single listener
57+
* Asterisk `*` can be mentioned only once in a component of a domain style name or host name. For example, component1*.component2*.component3. `(*.contoso-*.com)` is valid.
58+
* There can only be up to two asterisks `*` in a host name. For example, `*.contoso.*` is valid and `*.contoso.*.*.com` is invalid.
59+
* There can only be a maximum of 4 wildcard characters in a host name. For example, `????.contoso.com`, `w??.contoso*.edu.*` are valid, but `????.contoso.*` is invalid.
60+
* Using asterisk `*` and question mark `?` together in a component of a host name (`*?` or `?*` or `**`) is invalid. For example, `*?.contoso.com` and `**.contoso.com` are invalid.
61+
62+
### Considerations and limitations of using wildcard or multiple host names in a listener:
63+
64+
* [SSL termination and End-to-End SSL](ssl-overview.md) requires you to configure the protocol as HTTPS and upload a certificate to be used in the listener configuration. If it is a multi-site listener, you can input the host name as well, usually this is the CN of the SSL certificate. When you are specifying multiple host names in the listener or use wildcard characters, you must consider the following:
65+
* If it is a wildcard hostname like *.contoso.com, you must upload a wildcard certificate with CN like *.contoso.com
66+
* If multiple host names are mentioned in the same listener, you must upload a SAN certificate (Subject Alternative Names) with the CNs matching the host names mentioned.
67+
* You cannot use a regular expression to mention the host name. You can only use wildcard characters like asterisk (*) and question mark (?) to form the host name pattern.
68+
* For backend health check, you cannot associate multiple [custom probes](application-gateway-probe-overview.md) per HTTP settings. Instead, you can probe one of the websites at the backend or use “127.0.0.1” to probe the localhost of the backend server. However, when you are using wildcard or multiple host names in a listener, the requests for all the specified domain patterns will be routed to the backend pool depending on the rule type (basic or path-based).
69+
* The properties “hostname" takes one string as input, where you can mention only one non-wildcard domain name and “hostnames” takes an array of strings as input, where you can mention up to 5 wildcard domain names. But both the properties cannot be used at once.
70+
* You cannot create a [redirection](redirect-overview.md) rule with a target listener which uses wildcard or multiple host names.
71+
72+
See [create mutli-site using Azure portal](create-multiple-sites-portal.md) or [using Azure PowerShell](tutorial-multiple-sites-powershell.md) or [using Azure CLI](tutorial-multiple-sites-cli.md) for the step-by-step guide on how to configure wildcard host names in a multi-site listener.
73+
2574
## Host headers and Server Name Indication (SNI)
2675

2776
There are three common mechanisms for enabling multiple site hosting on the same infrastructure.
@@ -36,92 +85,8 @@ Application Gateway supports multiple applications each listening on different p
3685

3786
Application Gateway relies on HTTP 1.1 host headers to host more than one website on the same public IP address and port. The sites hosted on application gateway can also support TLS offload with Server Name Indication (SNI) TLS extension. This scenario means that the client browser and backend web farm must support HTTP/1.1 and TLS extension as defined in RFC 6066.
3887

39-
## Listener configuration element
40-
41-
Existing HTTPListener configuration elements are enhanced to support host name and server name indication elements. It's used by Application Gateway to route traffic to the appropriate backend pool.
42-
43-
The following code example is the snippet of an HttpListeners element from a template file:
44-
45-
```json
46-
"httpListeners": [
47-
{
48-
"name": "appGatewayHttpsListener1",
49-
"properties": {
50-
"FrontendIPConfiguration": {
51-
"Id": "/subscriptions/<subid>/resourceGroups/<rgName>/providers/Microsoft.Network/applicationGateways/applicationGateway1/frontendIPConfigurations/DefaultFrontendPublicIP"
52-
},
53-
"FrontendPort": {
54-
"Id": "/subscriptions/<subid>/resourceGroups/<rgName>/providers/Microsoft.Network/applicationGateways/applicationGateway1/frontendPorts/appGatewayFrontendPort443'"
55-
},
56-
"Protocol": "Https",
57-
"SslCertificate": {
58-
"Id": "/subscriptions/<subid>/resourceGroups/<rgName>/providers/Microsoft.Network/applicationGateways/applicationGateway1/sslCertificates/appGatewaySslCert1'"
59-
},
60-
"HostName": "contoso.com",
61-
"RequireServerNameIndication": "true"
62-
}
63-
},
64-
{
65-
"name": "appGatewayHttpListener2",
66-
"properties": {
67-
"FrontendIPConfiguration": {
68-
"Id": "/subscriptions/<subid>/resourceGroups/<rgName>/providers/Microsoft.Network/applicationGateways/applicationGateway1/frontendIPConfigurations/appGatewayFrontendIP'"
69-
},
70-
"FrontendPort": {
71-
"Id": "/subscriptions/<subid>/resourceGroups/<rgName>/providers/Microsoft.Network/applicationGateways/applicationGateway1/frontendPorts/appGatewayFrontendPort80'"
72-
},
73-
"Protocol": "Http",
74-
"HostName": "fabrikam.com",
75-
"RequireServerNameIndication": "false"
76-
}
77-
}
78-
],
79-
```
80-
81-
You can visit [Resource Manager template using multiple site hosting](https://github.com/Azure/azure-quickstart-templates/blob/master/201-application-gateway-multihosting) for an end to end template-based deployment.
82-
83-
## Routing rule
84-
85-
There's no change required in the routing rule. The routing rule 'Basic' should continue to be chosen to tie the appropriate site listener to the corresponding backend address pool.
86-
87-
```json
88-
"requestRoutingRules": [
89-
{
90-
"name": "<ruleName1>",
91-
"properties": {
92-
"RuleType": "Basic",
93-
"httpListener": {
94-
"id": "/subscriptions/<subid>/resourceGroups/<rgName>/providers/Microsoft.Network/applicationGateways/applicationGateway1/httpListeners/appGatewayHttpsListener1')]"
95-
},
96-
"backendAddressPool": {
97-
"id": "/subscriptions/<subid>/resourceGroups/<rgName>/providers/Microsoft.Network/applicationGateways/applicationGateway1/backendAddressPools/ContosoServerPool')]"
98-
},
99-
"backendHttpSettings": {
100-
"id": "/subscriptions/<subid>/resourceGroups/<rgName>/providers/Microsoft.Network/applicationGateways/applicationGateway1/backendHttpSettingsCollection/appGatewayBackendHttpSettings')]"
101-
}
102-
}
103-
104-
},
105-
{
106-
"name": "<ruleName2>",
107-
"properties": {
108-
"RuleType": "Basic",
109-
"httpListener": {
110-
"id": "/subscriptions/<subid>/resourceGroups/<rgName>/providers/Microsoft.Network/applicationGateways/applicationGateway1/httpListeners/appGatewayHttpListener2')]"
111-
},
112-
"backendAddressPool": {
113-
"id": "/subscriptions/<subid>/resourceGroups/<rgName>/providers/Microsoft.Network/applicationGateways/applicationGateway1/backendAddressPools/FabrikamServerPool')]"
114-
},
115-
"backendHttpSettings": {
116-
"id": "/subscriptions/<subid>/resourceGroups/<rgName>/providers/Microsoft.Network/applicationGateways/applicationGateway1/backendHttpSettingsCollection/appGatewayBackendHttpSettings')]"
117-
}
118-
}
119-
120-
}
121-
]
122-
```
123-
12488
## Next steps
12589

126-
After learning about multiple site hosting, go to [create an application gateway using multiple site hosting](tutorial-multiple-sites-powershell.md) to create an application gateway with ability to support more than one web application.
90+
After learning about multiple site hosting, go to [create mutli-site using Azure portal](create-multiple-sites-portal.md) or [using Azure PowerShell](tutorial-multiple-sites-powershell.md) or [using Azure CLI](tutorial-multiple-sites-cli.md) for the step-by-step guide on creating an Application Gateway to host multiple websites.
12791

92+
You can visit [Resource Manager template using multiple site hosting](https://github.com/Azure/azure-quickstart-templates/blob/master/201-application-gateway-multihosting) for an end to end template-based deployment.

‎articles/application-gateway/tutorial-multiple-sites-cli.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ In this article, you learn how to:
2626
> * Create virtual machine scale sets with the backend pools
2727
> * Create a CNAME record in your domain
2828
29-
![Multi-site routing example](./media/tutorial-multiple-sites-cli/scenario.png)
29+
:::image type="content" source="./media/tutorial-multiple-sites-cli/scenario.png" alt-text="Multi-site Application Gateway":::
3030

3131
If you prefer, you can complete this procedure using [Azure PowerShell](tutorial-multiple-sites-powershell.md).
3232

@@ -115,9 +115,13 @@ az network application-gateway address-pool create \
115115
--name fabrikamPool
116116
```
117117

118-
### Add backend listeners
118+
### Add listeners
119119

120-
Add the backend listeners that are needed to route traffic using [az network application-gateway http-listener create](/cli/azure/network/application-gateway/http-listener#az-network-application-gateway-http-listener-create).
120+
Add listeners that are needed to route traffic using [az network application-gateway http-listener create](/cli/azure/network/application-gateway/http-listener#az-network-application-gateway-http-listener-create).
121+
122+
>[!NOTE]
123+
> With Application Gateway or WAF v2 SKU, you can also configure up to 5 host names per listener and you can use wildcard characters in the host name. See [wildcard host names in listener](multiple-site-overview.md#wildcard-host-names-in-listener-(preview)) for more information.
124+
>To use multiple host names and wildcard characters in a listener using Azure CLI, you must use `--host-names` instead of `--host-name`. With host-names, you can mention up to 5 host names as comma-separated values. For example, `--host-names "*.contoso.com,*.fabrikam.com"`
121125
122126
```azurecli-interactive
123127
az network application-gateway http-listener create \

‎articles/application-gateway/tutorial-multiple-sites-powershell.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ services: application-gateway
66
author: vhorne
77
ms.service: application-gateway
88
ms.topic: how-to
9-
ms.date: 11/14/2019
9+
ms.date: 07/20/2020
1010
ms.author: victorh
1111
ms.custom: mvc
1212
#Customer intent: As an IT administrator, I want to use Azure PowerShell to configure Application Gateway to host multiple web sites , so I can ensure my customers can access the web information they need.
@@ -26,7 +26,7 @@ In this article, you learn how to:
2626
> * Create virtual machine scale sets with the backend pools
2727
> * Create a CNAME record in your domain
2828
29-
![Multi-site routing example](./media/tutorial-multiple-sites-powershell/scenario.png)
29+
:::image type="content" source="./media/tutorial-multiple-sites-powershell/scenario.png" alt-text="Multi-site Application Gateway":::
3030

3131
If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
3232

@@ -122,6 +122,10 @@ Listeners are required to enable the application gateway to route traffic approp
122122

123123
Create the first listener using [New-AzApplicationGatewayHttpListener](/powershell/module/az.network/new-azapplicationgatewayhttplistener) with the frontend configuration and frontend port that you previously created. A rule is required for the listener to know which backend pool to use for incoming traffic. Create a basic rule named *contosoRule* using [New-AzApplicationGatewayRequestRoutingRule](/powershell/module/az.network/new-azapplicationgatewayrequestroutingrule).
124124

125+
>[!NOTE]
126+
> With Application Gateway or WAF v2 SKU, you can also configure up to 5 host names per listener and you can use wildcard characters in the host name. See [wildcard host names in listener](multiple-site-overview.md#wildcard-host-names-in-listener-(preview)) for more information.
127+
>To use multiple host names and wildcard characters in a listener using Azure PowerShell, you must use `-HostNames` instead of `-HostName`. With HostNames, you can mention up to 5 host names as comma-separated values. For example, `-HostNames "*.contoso.com,*.fabrikam.com"`
128+
125129
```azurepowershell-interactive
126130
$contosolistener = New-AzApplicationGatewayHttpListener `
127131
-Name contosoListener `

‎articles/application-gateway/whats-new.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ Azure Application Gateway is updated on an ongoing basis. To stay updated with t
2222

2323
|Feature |Description |Date added |
2424
|---------|---------|---------|
25+
| Wildcard host names in listeners (Preview) | You can now define wildcard host names in a multi-site listener and up to 5 host names per listener. To learn more, see [wildcard host names in listener (preview)](multiple-site-overview.md#wildcard-host-names-in-listener-(preview)) and [host multiple sites in an Application Gateway using Azure portal](create-multiple-sites-portal.md) for the ste-by-step guide. | July 2020 |
2526
| URL rewrite (Preview) | You can now rewrite URL path and query string parameters using URL rewrite. See [Rewrite HTTP headers and URL](rewrite-http-headers-url.md) to learn more and see [Rewrite URL in Application Gateway using Azure portal](rewrite-url-portal.md) for the step-by-step guide. | July 2020 |
2627
| Custom port for health probes | Application Gateway v2 SKU now gives the ability to provide a custom port in the health probe configuration. For more information, see [health probe overview](application-gateway-probe-overview.md) | July 2020 |
2728
| Application Gateway Ingress Controller (AGIC) AKS add-on (Preview) |Application Gateway Ingress Controller can now be deployed as a native AKS add-on in one line through Azure CLI. Being an AKS add-on allows AGIC to become a fully managed service, while still running in the customer's AKS cluster. For more information, see [AGIC add-on differences](ingress-controller-overview.md#difference-between-helm-deployment-and-aks-add-on). |June 2020 |

0 commit comments

Comments
 (0)
Please sign in to comment.