Skip to content

Commit c051e78

Browse files
authored
Merge pull request #78467 from twooley/twCDNVerizon
CDN updates
2 parents 3c0c737 + c112daf commit c051e78

12 files changed

+707
-521
lines changed

.openpublishing.redirection.json

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32444,6 +32444,31 @@
3244432444
"redirect_url": "/azure/cloud-shell/persisting-shell-storage",
3244532445
"redirect_document_id": false
3244632446
},
32447+
{
32448+
"source_path": "articles/cdn/cdn-rules-engine-reference-conditional-expressions.md",
32449+
"redirect_url": "/azure/cdn/cdn-verizon-premium-rules-engine-reference-conditional-expressions",
32450+
"redirect_document_id": true
32451+
},
32452+
{
32453+
"source_path": "articles/cdn/cdn-rules-engine-reference-features.md",
32454+
"redirect_url": "/azure/cdn/cdn-verizon-premium-rules-engine-reference-features",
32455+
"redirect_document_id": true
32456+
},
32457+
{
32458+
"source_path": "articles/cdn/cdn-rules-engine-reference-match-conditions.md",
32459+
"redirect_url": "/azure/cdn/cdn-verizon-premium-rules-engine-reference-match-conditions",
32460+
"redirect_document_id": true
32461+
},
32462+
{
32463+
"source_path": "articles/cdn/cdn-rules-engine-reference.md",
32464+
"redirect_url": "/azure/cdn/cdn-verizon-premium-rules-engine-reference",
32465+
"redirect_document_id": true
32466+
},
32467+
{
32468+
"source_path": "articles/cdn/cdn-rules-engine.md",
32469+
"redirect_url": "/azure/cdn/cdn-verizon-premium-rules-engine",
32470+
"redirect_document_id": true
32471+
},
3244732472
{
3244832473
"source_path": "articles/cognitive-services/LUIS/luis-tutorial-interchangeable-phrase-list.md",
3244932474
"redirect_url": "/azure/cognitive-services/LUIS/luis-quickstart-primary-and-secondary-data",

articles/cdn/TOC.yml

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
href: cdn-pop-list-api.md
4343
- name: Migrate from Standard Verizon Standard to Premium Verizon
4444
href: cdn-migrate.md
45-
- name: DDoS Protection
45+
- name: DDoS protection
4646
href: cdn-ddos.md
4747
- name: How-to guides
4848
items:
@@ -94,7 +94,7 @@
9494
- name: Monitor resources
9595
href: cdn-resource-health.md
9696
- name: Override behavior with rules
97-
href: cdn-rules-engine.md
97+
href: cdn-verizon-premium-rules-engine.md
9898
- name: Use Traffic Manager
9999
href: cdn-traffic-manager.md
100100
- name: Analyze
@@ -134,15 +134,15 @@
134134
href: cdn-troubleshoot-allowed-ca.md
135135
- name: Reference
136136
items:
137-
- name: Rules engine reference
138-
href: cdn-rules-engine-reference.md
137+
- name: Verizon Premium rules engine reference
138+
href: cdn-verizon-premium-rules-engine-reference.md
139139
items:
140140
- name: Rules engine conditional expressions
141-
href: cdn-rules-engine-reference-conditional-expressions.md
141+
href: cdn-verizon-premium-rules-engine-reference-conditional-expressions.md
142142
- name: Rules engine match conditions
143-
href: cdn-rules-engine-reference-match-conditions.md
143+
href: cdn-verizon-premium-rules-engine-reference-match-conditions.md
144144
- name: Rules engine features
145-
href: cdn-rules-engine-reference-features.md
145+
href: cdn-verizon-premium-rules-engine-reference-features.md
146146
- name: HTTP variables
147147
href: cdn-http-variables.md
148148
- name: Verizon-specific HTTP headers
@@ -158,8 +158,6 @@
158158
href: /java/api/com.microsoft.azure.management.cdn
159159
- name: REST
160160
href: /rest/api/cdn/
161-
- name: Resource Manager template
162-
href: /azure/templates/microsoft.cdn/allversions
163161
- name: Resources
164162
items:
165163
- name: Azure CDN POP locations
@@ -183,4 +181,4 @@
183181
- name: Stack Overflow
184182
href: https://stackoverflow.com/questions/tagged/azure-cdn
185183
- name: Videos
186-
href: https://azure.microsoft.com/documentation/videos/index/?services=cdn
184+
href: https://azure.microsoft.com/documentation/videos/index/?services=cdn

articles/cdn/cdn-http-debug-headers.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ The debug cache request header, `X-EC-Debug`, provides additional information ab
2323
## Usage
2424
The response sent from the POP servers to a user includes the `X-EC-Debug` header only when the following conditions are met:
2525

26-
- The [Debug Cache Response Headers feature](cdn-rules-engine-reference-features.md#debug-cache-response-headers) has been enabled on the rules engine for the specified request.
26+
- The [Debug Cache Response Headers feature](cdn-verizon-premium-rules-engine-reference-features.md#debug-cache-response-headers) has been enabled on the rules engine for the specified request.
2727
- The specified request defines the set of debug cache response headers that will be included in the response.
2828

2929
## Requesting debug cache information
@@ -147,7 +147,7 @@ The terms used in the above response header syntax are defined as follows:
147147

148148
- MATimePeriod: Converts the max-age value (that is, MASeconds) to the approximate equivalent of a larger unit (for example, days).
149149

150-
- UnixTime: Indicates the cache timestamp of the requested content in Unix time (a.k.a. POSIX time or Unix epoch). The cache timestamp indicates the starting date/time from which an asset's TTL will be calculated.
150+
- UnixTime: Indicates the cache timestamp of the requested content in Unix time (also known as POSIX time or Unix epoch). The cache timestamp indicates the starting date/time from which an asset's TTL will be calculated.
151151

152152
If the origin server does not utilize a third-party HTTP caching server or if that server does not return the Age response header, then the cache timestamp will always be the date/time when the asset was retrieved or revalidated. Otherwise, the POP servers will use the Age field to calculate the asset's TTL as follows: Retrieval/RevalidateDateTime - Age.
153153

articles/cdn/cdn-http-variables.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ ms.author: magattus
2121
# HTTP variables for Azure CDN rules engine
2222
HTTP variables provide the means through which you can retrieve HTTP request and response metadata. This metadata can then be used to dynamically alter a request or a response. The use of HTTP variables is restricted to the following rules engine features:
2323

24-
- [Cache-Key Rewrite](cdn-rules-engine-reference-features.md#cache-key-rewrite)
25-
- [Modify Client Request Header](cdn-rules-engine-reference-features.md#modify-client-request-header)
26-
- [Modify Client Response Header](cdn-rules-engine-reference-features.md#modify-client-response-header)
27-
- [URL Redirect](cdn-rules-engine-reference-features.md#url-redirect)
28-
- [URL Rewrite](cdn-rules-engine-reference-features.md#url-rewrite)
24+
- [Cache-Key Rewrite](cdn-verizon-premium-rules-engine-reference-features.md#cache-key-rewrite)
25+
- [Modify Client Request Header](cdn-verizon-premium-rules-engine-reference-features.md#modify-client-request-header)
26+
- [Modify Client Response Header](cdn-verizon-premium-rules-engine-reference-features.md#modify-client-response-header)
27+
- [URL Redirect](cdn-verizon-premium-rules-engine-reference-features.md#url-redirect)
28+
- [URL Rewrite](cdn-verizon-premium-rules-engine-reference-features.md#url-rewrite)
2929

3030
## Definitions
3131
The following table describes the supported HTTP variables. A blank value is returned when GEO metadata (for example, postal code) is unavailable for a particular request.
@@ -110,7 +110,7 @@ The following table describes circumstances under which the specified text isn't
110110
| Condition | Description | Example |
111111
| --------- | ----------- | --------|
112112
| Escaping % symbol | The percentage symbol can be escaped through the use of a backslash. <br />The sample value to the right will be treated as a literal value and not as an HTTP variable.| \%{host} |
113-
| Unknown variables | An empty string is always returned for unknown variables. | %{unknownvariable} |
113+
| Unknown variables | An empty string is always returned for unknown variables. | %{unknown_variable} |
114114
| Invalid characters or syntax | Variables that contain invalid characters or syntax are treated as literal values. <br /><br />Example #1: The specified value contains an invalid character (for example, -). <br /><br />Example #2: The specified value contains a double set of curly braces. <br /><br />Example #3: The specified value is missing a closing curly brace.<br /> | Example #1: %{resp_user-agent} <br /><br />Example #2: %{{host}} <br /><br />Example #3: %{host |
115115
| Missing variable name | A NULL value is always returned when a variable is not specified. | %{} |
116116
| Trailing characters | Characters that trail a variable are treated as literal values. <br />The sample value to the right contains a trailing curly brace that will be treated as a literal value. | %{host}} |
@@ -124,9 +124,9 @@ The following table describes how to define a default value.
124124

125125
| Condition | Syntax | Example | Description |
126126
| --------- | ------ | --------| ----------- |
127-
| Set a header to a default value when it meets any of the following conditions: <br /><br />- Missing Header <br /><br />- Header value is set to NULL.| %{Variable:=Value} | %{http_referer:=unspecified} | The Referer header will only be set to *unspecified* when it is either missing or set to NULL. No action will take place if it has been set. |
128-
| Set a header to a default value when it is missing. | %{Variable=Value} | %{http_referer=unspecified} | The Referer header will only be set to *unspecified* when it is missing. No action will take place if it has been set. |
129-
| Set the header to a default value when it does not meet any of the following conditions: <br /><br />- Missing<br /><br /> - Set to NULL. | %{Variable:+Value} | %{http_referer:+unspecified} | The Referer header will only be set to *unspecified* when a value has been assigned to it. No action will take place if it is either missing or set to NULL. |
127+
| Set a header to a default value when it meets any of the following conditions: <br /><br />- Missing Header <br /><br />- Header value is set to NULL.| %{Variable:=Value} | %{http_referrer:=unspecified} | The Referrer header will only be set to *unspecified* when it is either missing or set to NULL. No action will take place if it has been set. |
128+
| Set a header to a default value when it is missing. | %{Variable=Value} | %{http_referrer=unspecified} | The Referrer header will only be set to *unspecified* when it is missing. No action will take place if it has been set. |
129+
| Set the header to a default value when it does not meet any of the following conditions: <br /><br />- Missing<br /><br /> - Set to NULL. | %{Variable:+Value} | %{http_referrer:+unspecified} | The Referrer header will only be set to *unspecified* when a value has been assigned to it. No action will take place if it is either missing or set to NULL. |
130130

131131
## Manipulating variables
132132
Variables can be manipulated in the following ways:

articles/cdn/cdn-storage-custom-domain-https.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Azure CDN ignores any restrictions added to the SAS token. For example, all SAS
4141
If you create multiple SAS URLs for the same blob endpoint, consider enabling query string caching. Doing so ensures that each URL is treated as a unique entity. For more information, see [Controlling Azure CDN caching behavior with query strings](cdn-query-string.md).
4242

4343
## HTTP-to-HTTPS redirection
44-
You can elect to redirect HTTP traffic to HTTPS by creating a [URL Redirect rule](cdn-rules-engine-reference-features.md#url-redirect) with the [Azure CDN rules engine](cdn-rules-engine.md). This option requires an **Azure CDN Premium from Verizon** profile.
44+
You can elect to redirect HTTP traffic to HTTPS by creating a [URL Redirect rule](cdn-verizon-premium-rules-engine-reference-features.md#url-redirect) with the [Azure CDN rules engine](cdn-verizon-premium-rules-engine.md). This option requires an **Azure CDN Premium from Verizon** profile.
4545

4646
![URL redirect rule](./media/cdn-storage-custom-domain-https/cdn-url-redirect-rule.png)
4747

articles/cdn/cdn-token-auth.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -176,17 +176,17 @@ The following flowchart describes how Azure CDN validates a client request when
176176
3. Under **HTTP Large**, select **Rules Engine**. You use the rules engine to define paths to apply the feature, enable the token authentication feature, and enable additional token authentication-related capabilities. For more information, see [Rules engine reference](cdn-rules-engine-reference.md).
177177

178178
1. Select an existing rule or create a new rule to define the asset or path for which you want to apply token authentication.
179-
2. To enable token authentication on a rule, select **[Token Auth](cdn-rules-engine-reference-features.md#token-auth)** from the **Features** list, then select **Enabled**. Select **Update** if you are updating a rule or **Add** if you are creating a rule.
179+
2. To enable token authentication on a rule, select **[Token Auth](cdn-verizon-premium-rules-engine-reference-features.md#token-auth)** from the **Features** list, then select **Enabled**. Select **Update** if you are updating a rule or **Add** if you are creating a rule.
180180

181181
![CDN rules engine token authentication enable example](./media/cdn-token-auth/cdn-rules-engine-enable2.png)
182182

183183
4. In the rules engine, you can also enable additional token authentication-related features. To enable any of the following features, select it from the **Features** list, then select **Enabled**.
184184

185-
- **[Token Auth Denial Code](cdn-rules-engine-reference-features.md#token-auth-denial-code)**: Determines the type of response that is returned to a user when a request is denied. Rules set here override the response code set in the **Custom Denial Handling** section on the token-based authentication page.
185+
- **[Token Auth Denial Code](cdn-verizon-premium-rules-engine-reference-features.md#token-auth-denial-code)**: Determines the type of response that is returned to a user when a request is denied. Rules set here override the response code set in the **Custom Denial Handling** section on the token-based authentication page.
186186

187-
- **[Token Auth Ignore URL Case](cdn-rules-engine-reference-features.md#token-auth-ignore-url-case)**: Determines whether the URL used to validate the token is case-sensitive.
187+
- **[Token Auth Ignore URL Case](cdn-verizon-premium-rules-engine-reference-features.md#token-auth-ignore-url-case)**: Determines whether the URL used to validate the token is case-sensitive.
188188

189-
- **[Token Auth Parameter](cdn-rules-engine-reference-features.md#token-auth-parameter)**: Renames the token auth query string parameter that appears in the requested URL.
189+
- **[Token Auth Parameter](cdn-verizon-premium-rules-engine-reference-features.md#token-auth-parameter)**: Renames the token auth query string parameter that appears in the requested URL.
190190

191191
![CDN rules engine token authentication settings example](./media/cdn-token-auth/cdn-rules-engine2.png)
192192

articles/cdn/cdn-verizon-http-headers.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ ms.author: magattus
2222

2323
For **Azure CDN Premium from Verizon** products, when an HTTP request is sent to the origin server, the point-of-presence (POP) server can add one or more reserved headers (or proxy special headers) in the client request to the POP. These headers are in addition to the standard forwarding headers received. For information about standard request headers, see [Request fields](https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Request_fields).
2424

25-
If you want to prevent one of these reserved headers from being added in the Azure CDN (Content Delivery Network) POP request to the origin server, you must create a rule with the [Proxy Special Headers feature](cdn-rules-engine-reference-features.md#proxy-special-headers) in the rules engine. In this rule, exclude the header you want to remove from the default list of headers in the headers field. If you've enabled the [Debug Cache Response Headers feature](cdn-rules-engine-reference-features.md#debug-cache-response-headers), be sure to add the necessary `X-EC-Debug` headers.
25+
If you want to prevent one of these reserved headers from being added in the Azure CDN (Content Delivery Network) POP request to the origin server, you must create a rule with the [Proxy Special Headers feature](cdn-verizon-premium-rules-engine-reference-features.md#proxy-special-headers) in the rules engine. In this rule, exclude the header you want to remove from the default list of headers in the headers field. If you've enabled the [Debug Cache Response Headers feature](cdn-verizon-premium-rules-engine-reference-features.md#debug-cache-response-headers), be sure to add the necessary `X-EC-Debug` headers.
2626

2727
For example, to remove the `Via` header, the headers field of the rule should include the following list of headers: *X-Forwarded-For, X-Forwarded-Proto, X-Host, X-Midgress, X-Gateway-List, X-EC-Name, Host*.
2828

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,39 @@
11
---
2-
title: Azure CDN rules engine conditional expressions | Microsoft Docs
3-
description: Reference documentation for Azure CDN rules engine match conditions and features.
2+
title: Azure CDN from Verizon Premium rules engine conditional expressions | Microsoft Docs
3+
description: Reference documentation for Azure CDN from Verizon Premium rules engine match conditions and features.
44
services: cdn
5-
documentationcenter: ''
6-
author: Lichard
7-
manager: akucer
8-
editor: ''
5+
author: mdgattuso
96

10-
ms.assetid: 669ef140-a6dd-4b62-9b9d-3f375a14215e
117
ms.service: cdn
12-
ms.workload: media
13-
ms.tgt_pltfrm: na
14-
ms.devlang: na
158
ms.topic: article
16-
ms.date: 01/23/2017
17-
ms.author: rli
9+
ms.date: 05/31/2019
10+
ms.author: magattus
1811

1912
---
2013

21-
# Azure CDN rules engine conditional expressions
22-
This topic lists detailed descriptions of the Conditional Expressions for Azure Content Delivery Network (CDN) [Rules Engine](cdn-rules-engine.md).
14+
# Azure CDN from Verizon Premium rules engine conditional expressions
15+
16+
This article lists detailed descriptions of the Conditional Expressions for Azure Content Delivery Network (CDN) [Rules Engine](cdn-verizon-premium-rules-engine.md).
2317

2418
The first part of a rule is the Conditional Expression.
2519

2620
Conditional Expression | Description
2721
-----------------------|-------------
28-
IF | An IF expression is always a part of the first statement in a rule. Like all other conditional expressions, this IF statement must be associated with a match. If no additional conditional expressions are defined, then this match determines the criterion that must be met before a set of features may be applied to a request.
22+
IF | An IF expression is always a part of the first statement in a rule. Like all other conditional expressions, this IF statement must be associated with a match. If no additional conditional expressions are defined, this match determines the criterion that must be met before a set of features may be applied to a request.
2923
AND IF | An AND IF expression may only be added after the following types of conditional expressions:IF,AND IF. It indicates that there is another condition that must be met for the initial IF statement.
3024
ELSE IF| An ELSE IF expression specifies an alternative condition that must be met before a set of features specific to this ELSE IF statement takes place. The presence of an ELSE IF statement indicates the end of the previous statement. The only conditional expression that may be placed after an ELSE IF statement is another ELSE IF statement. This means that an ELSE IF statement may only be used to specify a single additional condition that has to be met.
3125

3226
**Example**:
3327
![CDN match condition](./media/cdn-rules-engine-reference/cdn-rules-engine-conditional-expression.png)
3428

3529
> [!TIP]
36-
> A subsequent rule may override the actions specified by a previous rule.
30+
> A subsequent rule may override the actions specified by a previous rule.
3731
> Example: A catch-all rule secures all requests via Token-Based Authentication. Another rule may be created directly below it to make an exception for certain types of requests.
3832
39-
### Next steps
40-
* [Azure CDN Overview](cdn-overview.md)
41-
* [Rules Engine Reference](cdn-rules-engine-reference.md)
42-
* [Rules Engine Match Conditions](cdn-rules-engine-reference-match-conditions.md)
43-
* [Rules Engine Features](cdn-rules-engine-reference-features.md)
44-
* [Overriding default HTTP behavior using the rules engine](cdn-rules-engine.md)
33+
## Next steps
34+
35+
- [Azure CDN overview](cdn-overview.md)
36+
- [Rules engine reference](cdn-verizon-premium-rules-engine-reference.md)
37+
- [Rules engine match conditions](cdn-verizon-premium-rules-engine-reference-match-conditions.md)
38+
- [Rules engine features](cdn-verizon-premium-rules-engine-reference-features.md)
39+
- [Overriding default HTTP behavior using the rules engine](cdn-verizon-premium-rules-engine.md)

0 commit comments

Comments
 (0)