Skip to content

Commit 084d1a9

Browse files
committed
Updates
1 parent 78febf5 commit 084d1a9

File tree

4 files changed

+29
-35
lines changed

4 files changed

+29
-35
lines changed

articles/frontdoor/front-door-caching.md

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,14 @@ author: duongau
66
ms.service: frontdoor
77
ms.topic: article
88
ms.workload: infrastructure-services
9-
ms.date: 12/12/2022
9+
ms.date: 12/19/2022
1010
ms.author: duau
1111
zone_pivot_groups: front-door-tiers
1212
---
1313

1414
# Caching with Azure Front Door
1515

16-
::: zone pivot="front-door-standard-premium"
17-
18-
In this article, you'll learn how Azure Front Door Standard and Premium tier routes and rule sets behave when you have caching enabled. Azure Front Door is a modern Content Delivery Network (CDN) with dynamic site acceleration and load balancing.
19-
20-
::: zone-end
21-
22-
::: zone pivot="front-door-classic"
23-
24-
The following document specifies behaviors for Azure Front Door (classic) with routing rules that have enabled caching. Front Door is a modern Content Delivery Network (CDN) with dynamic site acceleration and load balancing, it also supports caching behaviors just like any other CDN.
25-
26-
::: zone-end
27-
28-
## Caching architecture
29-
30-
When caching is configured on your route, the edge site that receives each request checks its cache for a valid response. Caching helps to reduce the amount of traffic sent to your origin server. If no cached response is available, the request is forwarded to the origin.
16+
Azure Front Door is a modern content delivery network (CDN), with dynamic site acceleration and load balancing capabilities. When caching is configured on your route, the edge site that receives each request checks its cache for a valid response. Caching helps to reduce the amount of traffic sent to your origin server. If no cached response is available, the request is forwarded to the origin.
3117

3218
Each Front Door edge site manages its own cache, and requests might be served by different edge sites. As a result, you might still see some traffic reach your origin, even if you served cached responses.
3319

articles/frontdoor/how-to-configure-caching.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: frontdoor
55
author: johndowns
66
ms.service: frontdoor
77
ms.topic: how-to
8-
ms.date: 12/12/2022
8+
ms.date: 12/19/2022
99
ms.author: jodowns
1010
---
1111

articles/frontdoor/standard-premium/how-to-compression.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: front-door
55
author: duongau
66
ms.service: frontdoor
77
ms.topic: article
8-
ms.date: 03/20/2022
8+
ms.date: 12/19/2022
99
ms.author: yuajia
1010
---
1111

articles/frontdoor/standard-premium/how-to-logs.md

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,18 @@ Azure Front Door provides different logging to help you track, monitor, and debu
1515

1616
* Access logs have detailed information about every request that AFD receives and help you analyze and monitor access patterns, and debug issues.
1717
* Activity logs provide visibility into the operations done on Azure resources.
18-
* Health Probe logs provides the logs for every failed probe to your origin.
19-
* Web Application Firewall (WAF) logs provide detailed information of requests that gets logged through either detection or prevention mode of an Azure Front Door endpoint. A custom domain that gets configured with WAF can also be viewed through these logs.
18+
* Health probe logs provides the logs for every failed probe to your origin.
19+
* Web Application Firewall (WAF) logs provide detailed information of requests that gets logged through either detection or prevention mode of an Azure Front Door endpoint. A custom domain that gets configured with WAF can also be viewed through these logs. For more information on WAF logs, see [Azure Web Application Firewall monitoring and logging](../../web-application-firewall/afds/waf-front-door-monitor.md#waf-logs).
2020

21-
22-
Access Logs, health probe logs and WAF logs aren't enabled by default. Use the steps below to enable logging. Activity log entries are collected by default, and you can view them in the Azure portal. Logs can have delays up to a few minutes.
21+
Access logs, health probe logs and WAF logs aren't enabled by default. Use the steps below to enable logging. Activity log entries are collected by default, and you can view them in the Azure portal. Logs can have delays up to a few minutes.
2322

2423
You have three options for storing your logs:
2524

2625
* **Storage account:** Storage accounts are best used for scenarios when logs are stored for a longer duration and reviewed when needed.
2726
* **Event hubs:** Event hubs are a great option for integrating with other security information and event management (SIEM) tools or external data stores. For example: Splunk/DataDog/Sumo.
2827
* **Azure Log Analytics:** Azure Log Analytics in Azure Monitor is best used for general real-time monitoring and analysis of Azure Front Door performance.
2928

30-
## Configure Logs
29+
## Configure logs
3130

3231
1. Sign in to the [Azure portal](https://portal.azure.com).
3332

@@ -54,7 +53,7 @@ You have three options for storing your logs:
5453

5554
1. Click on **Save**.
5655

57-
## Access Log
56+
## Access log
5857

5958
Azure Front Door currently provides individual API requests with each entry having the following schema and logged in JSON format as shown below.
6059

@@ -78,13 +77,13 @@ Azure Front Door currently provides individual API requests with each entry havi
7877
| Endpoint | The domain name of AFD endpoint, for example, contoso.z01.azurefd.net |
7978
| HttpStatusCode | The HTTP status code returned from Azure Front Door. If a request to the origin times out, the value for HttpStatusCode is set to **0**.|
8079
| Pop | The edge pop, which responded to the user request. |
81-
| Cache Status | Provides the status code of how the request gets handled by the CDN service when it comes to caching. Possible values are:<ul><li>`HIT` and `REMOTE_HIT`: The HTTP request was served from the Front Door cache.</ul><ul>`MISS`: The HTTP request was served from the origin.</li><li> `PARTIAL_HIT`: Some of the bytes from a request were served from the Front Door cache, and some of the bytes were served from origin. This status occurs in [object chunking](../front-door-caching.md#delivery-of-large-files) scenarios.</li><li>`CACHE_NOCONFIG`: Request was forwarded without caching settings, including bypass scenario.</li><li>`PRIVATE_NOSTORE`: No cache configured in caching settings by customers.</li><li>`N/A`: The request was denied by a signed URL and rules engine. |
80+
| Cache Status | Provides the status code of how the request gets handled by the CDN service when it comes to caching. Possible values are:<ul><li>`HIT` and `REMOTE_HIT`: The HTTP request was served from the Front Door cache.</li><li>`MISS`: The HTTP request was served from the origin.</li><li> `PARTIAL_HIT`: Some of the bytes from a request were served from the Front Door cache, and some of the bytes were served from origin. This status occurs in [object chunking](../front-door-caching.md#delivery-of-large-files) scenarios.</li><li>`CACHE_NOCONFIG`: Request was forwarded without caching settings, including bypass scenario.</li><li>`PRIVATE_NOSTORE`: No cache configured in caching settings by customers.</li><li>`N/A`: The request was denied by a signed URL and rules engine.</li></ul> |
8281
| MatchedRulesSetName | The names of the rules that were processed. |
8382
| RouteName | The name of the route that the request matched. |
8483
| ClientPort | The IP port of the client that made the request. |
8584
| Referrer | The URL of the site that originated the request. |
86-
| TimetoFirstByte | The length of time in milliseconds from AFD receives the request to the time the first byte gets sent to client, as measured on Azure Front Door. This property doesn't measure the client data. |
87-
| ErrorInfo | This field provides detailed info of the error token for each response. <br> **NoError**: Indicates no error was found. <br> **CertificateError**: Generic SSL certificate error. <br> **CertificateNameCheckFailed**: The host name in the SSL certificate is invalid or doesn't match. <br> **ClientDisconnected**: Request failure because of client network connection. <br> **ClientGeoBlocked**: The client was blocked due geographical location of the IP. <br> **UnspecifiedClientError**: Generic client error. <br> **InvalidRequest**: Invalid request. It might occur because of malformed header, body, and URL. <br> **DNSFailure**: DNS Failure. <br> **DNSTimeout**: The DNS query to resolve the backend timed out. <br> **DNSNameNotResolved**: The server name or address couldn't be resolved. <br> **OriginConnectionAborted**: The connection with the origin was disconnected abnormally. <br> **OriginConnectionError**: Generic origin connection error. <br> **OriginConnectionRefused**: The connection with the origin wasn't established. <br> **OriginError**: Generic origin error. <br> **OriginInvalidRequest**: An invalid request was sent to the origin. <br> **ResponseHeaderTooBig**: The origin returned a too large of a response header. <br> **OriginInvalidResponse**:** Origin returned an invalid or unrecognized response. <br> **OriginTimeout**: The timeout period for origin request expired. <br> **ResponseHeaderTooBig**: The origin returned a too large of a response header. <br> **RestrictedIP**: The request was blocked because of restricted IP. <br> **SSLHandshakeError**: Unable to establish connection with origin because of SSL hand shake failure. <br> **SSLInvalidRootCA**: The RootCA was invalid. <br> **SSLInvalidCipher**: Cipher was invalid for which the HTTPS connection was established. <br> **OriginConnectionAborted**: The connection with the origin was disconnected abnormally. <br> **OriginConnectionRefused**: The connection with the origin wasn't established. <br> **UnspecifiedError**: An error occurred that didn’t fit in any of the errors in the table. |
85+
| TimeToFirstByte | The length of time in milliseconds from AFD receives the request to the time the first byte gets sent to client, as measured on Azure Front Door. This property doesn't measure the client data. |
86+
| ErrorInfo | This field provides detailed info of the error token for each response. Possible values are:<ul><li>`NoError`: Indicates no error was found.</li><li>`CertificateError`: Generic SSL certificate error.</li><li>`CertificateNameCheckFailed`: The host name in the SSL certificate is invalid or doesn't match.</li><li>`ClientDisconnected`: Request failure because of client network connection.</li><li>`ClientGeoBlocked`: The client was blocked due geographical location of the IP.</li><li>`UnspecifiedClientError`: Generic client error.</li><li>`InvalidRequest`: Invalid request. It might occur because of malformed header, body, and URL.</li><li>`DNSFailure`: DNS Failure.</li><li>`DNSTimeout`: The DNS query to resolve the backend timed out.</li><li>`DNSNameNotResolved`: The server name or address couldn't be resolved.</li><li>`OriginConnectionAborted`: The connection with the origin was disconnected abnormally.</li><li>`OriginConnectionError`: Generic origin connection error.</li><li>`OriginConnectionRefused`: The connection with the origin wasn't established.</li><li>`OriginError`: Generic origin error.</li><li>`OriginInvalidRequest`: An invalid request was sent to the origin.</li><li>`ResponseHeaderTooBig`: The origin returned a too large of a response header.</li><li>`OriginInvalidResponse`:` Origin returned an invalid or unrecognized response.</li><li>`OriginTimeout`: The timeout period for origin request expired.</li><li>`ResponseHeaderTooBig`: The origin returned a too large of a response header.</li><li>`RestrictedIP`: The request was blocked because of restricted IP.</li><li>`SSLHandshakeError`: Unable to establish connection with origin because of SSL hand shake failure.</li><li>`SSLInvalidRootCA`: The RootCA was invalid.</li><li>`SSLInvalidCipher`: Cipher was invalid for which the HTTPS connection was established.</li><li>`OriginConnectionAborted`: The connection with the origin was disconnected abnormally.</li><li>`OriginConnectionRefused`: The connection with the origin wasn't established.</li><li>`UnspecifiedError`: An error occurred that didn’t fit in any of the errors in the table.</li></ul> |
8887
| OriginURL | The full URL of the origin where requests are being sent. Composed of the scheme, host header, port, path, and query string. <br> **URL rewrite**: If there's a URL rewrite rule in Rule Set, path refers to rewritten path. <br> **Cache on edge POP** If it's a cache hit on edge POP, the origin is N/A. <br> **Large request** If the requested content is large with multiple chunked requests going back to the origin, this field will correspond to the first request to the origin. For more information, see [Caching with Azure Front Door](../front-door-caching.md#delivery-of-large-files). |
8988
| OriginIP | The origin IP that served the request. <br> **Cache hit on edge POP** If it's a cache hit on edge POP, the origin is N/A. <br> **Large request** If the requested content is large with multiple chunked requests going back to the origin, this field will correspond to the first request to the origin. For more information, see [Caching with Azure Front Door](../front-door-caching.md#delivery-of-large-files) |
9089
| OriginName| The full DNS name (hostname in origin URL) to the origin. <br> **Cache hit on edge POP** If it's a cache hit on edge POP, the origin is N/A. <br> **Large request** If the requested content is large with multiple chunked requests going back to the origin, this field will correspond to the first request to the origin. For more information, see [Caching with Azure Front Door](../front-door-caching.md#delivery-of-large-files) |
@@ -97,7 +96,7 @@ Health probe logs provide logging for every failed probe to help you d
9796

9897
* You noticed the origin health % is lower than expected and want to know which origin failed and the reason of the failure.
9998

100-
### Health Probe Log Properties
99+
### Health probe log properties
101100

102101
Each health probe log has the following schema.
103102

@@ -116,13 +115,18 @@ Each health probe log has the following schema.
116115
| ConnectionLatency| Duration Time spent on setting up the TCP connection to send the HTTP Probe request to origin. |
117116
| DNSResolution Latency | Duration Time spent on DNS resolution if the origin is configured to be an FDQN instead of IP. N/A if the origin is configured to IP. |
118117

119-
### Health Probe Log Sample in JSON
118+
The following example shows a health probe log entry, in JSON format.
120119

121-
`{ "records": [ { "time": "2021-02-02T07:15:37.3640748Z",
120+
```json
121+
{
122+
"records": [
123+
{
124+
"time": "2021-02-02T07:15:37.3640748Z",
122125
"resourceId": "/SUBSCRIPTIONS/27CAFCA8-B9A4-4264-B399-45D0C9CCA1AB/RESOURCEGROUPS/AFDXPRIVATEPREVIEW/PROVIDERS/MICROSOFT.CDN/PROFILES/AFDXPRIVATEPREVIEW-JESSIE",
123126
"category": "FrontDoorHealthProbeLog",
124127
"operationName": "Microsoft.Cdn/Profiles/FrontDoorHealthProbeLog/Write",
125-
"properties": { "healthProbeId": "9642AEA07BA64675A0A7AD214ACF746E",
128+
"properties": {
129+
"healthProbeId": "9642AEA07BA64675A0A7AD214ACF746E",
126130
"POP": "MAA",
127131
"httpVerb": "HEAD",
128132
"result": "OriginError",
@@ -132,10 +136,14 @@ Each health probe log has the following schema.
132136
"originIP": "52.239.224.228:80",
133137
"totalLatencyMilliseconds": "141",
134138
"connectionLatencyMilliseconds": "68",
135-
"DNSLatencyMicroseconds": "1814" } } ]
136-
} `
137-
138-
## Activity Logs
139+
"DNSLatencyMicroseconds": "1814"
140+
}
141+
}
142+
]
143+
}
144+
```
145+
146+
## Activity logs
139147

140148
Activity logs provide information about the operations done on Azure Front Door Standard/Premium. The logs include details about what, who and when a write operation was done on Azure Front Door.
141149

0 commit comments

Comments
 (0)