You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/frontdoor/front-door-backend-pool.md
+8-4Lines changed: 8 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,14 +62,18 @@ A backend pool defines how the different backends should be evaluated via health
62
62
### Health probes
63
63
Front Door sends periodic HTTP/HTTPS probe requests to each of your configured backends. Probe requests determine the proximity and health of each backend to load balance your end-user requests. Health probe settings for a backend pool define how we poll the health status of app backends. The following settings are available for load-balancing configuration:
64
64
65
-
-**Path**. The URL used for probe requests for all the backends in the backend pool. For example, if one of your backends is contoso-westus.azurewebsites.net and the path is set to /probe/test.aspx, then Front Door environments, assuming the protocol is set to HTTP, will send health probe requests to http\://contoso-westus.azurewebsites.net/probe/test.aspx.
65
+
-**Path**: The URL used for probe requests for all the backends in the backend pool. For example, if one of your backends is contoso-westus.azurewebsites.net and the path is set to /probe/test.aspx, then Front Door environments, assuming the protocol is set to HTTP, will send health probe requests to http\://contoso-westus.azurewebsites.net/probe/test.aspx.
66
66
67
-
-**Protocol**. Defines whether to send the health probe requests from Front Door to your backends with HTTP or HTTPS protocol.
67
+
-**Protocol**: Defines whether to send the health probe requests from Front Door to your backends with HTTP or HTTPS protocol.
68
68
69
-
-**Interval (seconds)**. Defines the frequency of health probes to your backends, or the intervals in which each of the Front Door environments sends a probe.
69
+
-**Method**:The HTTP method to be used for sending health probes. Options include GET or HEAD (default).
70
+
> [!NOTE]
71
+
> For lower load and cost on your backends, Front Door recommends using HEAD requests for health probes.
72
+
73
+
-**Interval (seconds)**: Defines the frequency of health probes to your backends, or the intervals in which each of the Front Door environments sends a probe.
70
74
71
75
>[!NOTE]
72
-
>For faster failovers, set the interval to a lower value. The lower the value, the higher the health probe volume your backends receive. For example, if the interval is set to 30 seconds with 90 Front Door environments or POPs globally, each backend will receive about 3-5 probe requests per second.
76
+
>For faster failovers, set the interval to a lower value. The lower the value, the higher the health probe volume your backends receive. For example, if the interval is set to 30 seconds with say, 100 Front Door POPs globally, each backend will receive about 200 probe requests per minute.
73
77
74
78
For more information, see [Health probes](front-door-health-probes.md).
Copy file name to clipboardExpand all lines: articles/frontdoor/front-door-caching.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ ms.author: sharadag
14
14
---
15
15
16
16
# Caching with Azure Front Door
17
-
The following document specifies behavior for Front Door with routing rules that have enabled caching.
17
+
The following document specifies behavior for Front Door with routing rules that have enabled caching. Front Door is a modern Content Delivery Network (CDN) and so along with dynamic site acceleration and load balancing, it also supports caching behaviors just like any other CDN.
18
18
19
19
## Delivery of large files
20
20
Azure Front Door delivers large files without a cap on file size. Front Door uses a technique called object chunking. When a large file is requested, Front Door retrieves smaller pieces of the file from the backend. After receiving a full or byte-range file request, a Front Door environment requests the file from the backend in chunks of 8 MB.
@@ -99,7 +99,7 @@ The following order of headers is used in order to determine how long an item wi
99
99
2. Cache-Control: max-age=\<seconds>
100
100
3. Expires: \<http-date>
101
101
102
-
Cache-Control response headers that indicate that the response won’t be cached such as Cache-Control: private, Cache-Control: no-cache, and Cache-Control: no-store are honored. However, if there are multiple requests in-flight at a POP for the same URL, they may share the response. If no Cache-Control is present the default behavior is that AFD will cache the resource for X amount of time where X is randomly picked between 1 to 3 days.
102
+
Cache-Control response headers that indicate that the response won't be cached such as Cache-Control: private, Cache-Control: no-cache, and Cache-Control: no-store are honored. However, if there are multiple requests in-flight at a POP for the same URL, they may share the response. If no Cache-Control is present the default behavior is that AFD will cache the resource for X amount of time where X is randomly picked between 1 to 3 days.
Copy file name to clipboardExpand all lines: articles/frontdoor/front-door-custom-domain-https.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -80,8 +80,8 @@ You can use your own certificate to enable the HTTPS feature. This process is do
80
80
81
81
2. Azure Key Vault certificates: If you already have a certificate, you can upload it directly to your Azure Key Vault account or you can create a new certificate directly through Azure Key Vault from one of the partner CAs that Azure Key Vault integrates with. Upload your certificate as a **certificate** object, rather than a **secret**.
82
82
83
-
> [!IMPORTANT]
84
-
> You must upload the certificate in PFX format **without** password protection.
83
+
> [!NOTE]
84
+
> For your own SSL certificate, Front Door doesn't support certificates with EC cryptography algorithms.
85
85
86
86
#### Register Azure Front Door
87
87
@@ -256,8 +256,8 @@ The following table shows the operation progress that occurs when you disable HT
256
256
If you have a CNAME entry for your custom domain that points directly to your endpoint hostname (and you are not using the afdverify subdomain name), you won't receive a domain verification email. Validation occurs automatically. Otherwise, if you don't have a CNAME entry and you haven't received an email within 24 hours, contact Microsoft support.
257
257
258
258
4.*Is using a SAN certificate less secure than a dedicated certificate?*
259
-
260
-
A SAN certificate follows the same encryption and security standards as a dedicated certificate. All issued SSL certificates use SHA-256 for enhanced server security.
259
+
260
+
A SAN certificate follows the same encryption and security standards as a dedicated certificate. All issued SSL certificates use SHA-256 for enhanced server security.
261
261
262
262
5.*Do I need a Certificate Authority Authorization record with my DNS provider?*
> Front Door does **not** support custom domains with [punycode](https://en.wikipedia.org/wiki/Punycode) characters.
33
+
31
34
## Prerequisites
32
35
33
36
Before you can complete the steps in this tutorial, you must first create a Front Door. For more information, see [Quickstart: Create a Front Door](quickstart-create-front-door.md).
Copy file name to clipboardExpand all lines: articles/frontdoor/front-door-diagnostics.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,12 +71,14 @@ Front Door currently provides diagnostic logs (batched hourly). Diagnostic logs
71
71
| Property | Description |
72
72
| ------------- | ------------- |
73
73
| BackendHostname | If request was being forwarded to a backend, this field represents the hostname of the backend. This field will be blank if the request was redirected or forwarded to a regional cache (when caching is enabled for the routing rule). |
74
+
| CacheStatus | For caching scenarios, this field defines the cache hit/miss at the POP |
74
75
| ClientIp | The IP address of the client that made the request. If there was an X-Forwarded-For header in the request, then the Client IP is picked from the same. |
75
76
| ClientPort | The IP port of the client that made the request. |
76
77
| HttpMethod | HTTP method used by the request. |
77
78
| HttpStatusCode | The HTTP status code returned from the proxy. |
78
79
| HttpStatusDetails | Resulting status on the request. Meaning of this string value can be found at a Status reference table. |
79
80
| HttpVersion | Type of the request or connection. |
81
+
| POP | Short name of the edge where the request landed. |
80
82
| RequestBytes | The size of the HTTP request message in bytes, including the request headers and the request body. |
81
83
| RequestUri | URI of the received request. |
82
84
| ResponseBytes | Bytes sent by the backend server as the response. |
@@ -87,6 +89,16 @@ Front Door currently provides diagnostic logs (batched hourly). Diagnostic logs
87
89
| TrackingReference | The unique reference string that identifies a request served by Front Door, also sent as X-Azure-Ref header to the client. Required for searching details in the access logs for a specific request. |
88
90
| UserAgent | The browser type that the client used. |
89
91
92
+
**Note:** For various routing configurations and traffic behaviors, some of the fields like backendHostname, cacheStatus, sentToOriginShield, and POP field may respond with different values. The below table explains the different values, these fields will have for various scenarios:
93
+
94
+
| Scenarios | Count of log entries | POP | BackendHostname | SentToOriginShield | CacheStatus |
| Routing rule without caching enabled | 1 | Edge POP code | Backend where request was forwarded | False | CONFIG_NOCACHE |
97
+
| Routing rule with caching enabled. Cache hit at the edge POP | 1 | Edge POP code | Empty | False | HIT |
98
+
| Routing rule with caching enabled. Cache miss at edge POP but cache hit at parent cache POP | 2 | 1. Edge POP code</br>2. Parent cache POP code | 1. Parent cache POP hostname</br>2. Empty | 1. True</br>2. False | 1. MISS</br>2. PARTIAL_HIT |
99
+
| Routing rule with caching enabled. Cache miss at both edge and parent cache POP | 2 | 1. Edge POP code</br>2. Parent cache POP code | 1. Parent cache POP hostname</br>2. Backend that helps populate cache | 1. True</br>2. False | 1. MISS</br>2. MISS |
100
+
101
+
90
102
## Next steps
91
103
92
104
-[Create a Front Door profile](quickstart-create-front-door.md)
Copy file name to clipboardExpand all lines: articles/frontdoor/front-door-faq.md
+28-13Lines changed: 28 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -82,22 +82,18 @@ Routes for your Front Door are not ordered and a specific route is selected base
82
82
83
83
### How do I lock down the access to my backend to only Azure Front Door?
84
84
85
-
To lock down your application to accept traffic only from your specific Front Door, you will need to set up IP ACLs for your backend and then restrict the set of accepted values for the header 'X-Forwarded-Host' sent by Azure Front Door. These steps are detailed out as below:
85
+
To lock down your application to accept traffic only from your specific Front Door, you will need to set up IP ACLs for your backend and then restrict the traffic on your backend to the specific value of the header 'X-Azure-FDID' sent by Front Door. These steps are detailed out as below:
86
86
87
-
- Configure IP ACLing for your backends to accept traffic from Azure Front Door's backend IP address space and Azure's infrastructure services only. We are working towards integrating with [Azure IP Ranges and Service Tags](https://www.microsoft.com/download/details.aspx?id=56519) but for now you can refer the IP ranges as below:
87
+
- Configure IP ACLing for your backends to accept traffic from Azure Front Door's backend IP address space and Azure's infrastructure services only. Refer the IP details below for ACLing your backend:
88
88
89
-
- Front Door's **IPv4** backend IP space: `147.243.0.0/16`
90
-
- Front Door's **IPv6** backend IP space:`2a01:111:2050::/44`
89
+
-Refer *AzureFrontDoor.Backend* section in [Azure IP Ranges and Service Tags](https://www.microsoft.com/download/details.aspx?id=56519) for Front Door's IPv4 backend IP address range or you can also use the service tag *AzureFrontDoor.Backend* in your [network security groups](https://docs.microsoft.com/azure/virtual-network/security-overview#security-rules) or with [Azure Firewall](https://docs.microsoft.com/azure/firewall/service-tags).
90
+
- Front Door's **IPv6** backend IP space while covered in the service tag, is not listed in the Azure IP ranges JSON file. If you are looking for explicit IPv6 address range, it is currently limited to`2a01:111:2050::/44`
91
91
- Azure's [basic infrastructure services](https://docs.microsoft.com/azure/virtual-network/security-overview#azure-platform-considerations) through virtualized host IP addresses: `168.63.129.16` and `169.254.169.254`
92
92
93
93
> [!WARNING]
94
94
> Front Door's backend IP space may change later, however, we will ensure that before that happens, that we would have integrated with [Azure IP Ranges and Service Tags](https://www.microsoft.com/download/details.aspx?id=56519). We recommend that you subscribe to [Azure IP Ranges and Service Tags](https://www.microsoft.com/download/details.aspx?id=56519) for any changes or updates.
95
95
96
-
- Filter on the values for the incoming header '**X-Forwarded-Host**' sent by Front Door. The only allowed values for the header should be all of the frontend hosts as defined in your Front Door config. In fact even more specifically, only the host names for which you want to accept traffic from, on this particular backend of yours.
97
-
- Example – let’s say your Front Door config has the following frontend hosts _`contoso.azurefd.net`_ (A), _`www.contoso.com`_ (B), _`api.contoso.com`_ (C), and _`notifications.contoso.com`_ (D). Let’s assume that you have two backends X and Y.
98
-
- Backend X should only take traffic from host names A and B. Backend Y can take traffic from A, C, and D.
99
-
- So, on Backend X you should only accept traffic that has the header '**X-Forwarded-Host**' set to either _`contoso.azurefd.net`_ or _`www.contoso.com`_. For everything else, backend X should reject the traffic.
100
-
- Similarly, on Backend Y you should only accept traffic that has the header '**X-Forwarded-Host**' set to either _`contoso.azurefd.net`_, _`api.contoso.com`_ or _`notifications.contoso.com`_. For everything else, backend Y should reject the traffic.
96
+
- Perform a GET operation on your Front Door with the API version `2020-01-01` or higher. The same operation can also be done by referring your Front Door profile in Azure portal. In the 'Overview' section in Azure portal, you will see a field named *Front Door ID" and in the API call this field is called `frontdoorID`. Filter on the incoming header '**X-Azure-FDID**' sent by Front Door to your backend with the value as that of the field `frontdoorID`.
101
97
102
98
### Can the anycast IP change over the lifetime of my Front Door?
103
99
@@ -178,17 +174,36 @@ The following are the current cipher suites supported by Azure Front Door:
178
174
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
179
175
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
180
176
177
+
### Can I configure SSL policy to control SSL Protocol versions?
178
+
179
+
You can configure a minimum TLS version in Azure Front Door in the custom domain HTTPS settings via Azure portal or the [Azure REST API](https://docs.microsoft.com/rest/api/frontdoorservice/frontdoor/frontdoors/createorupdate#minimumtlsversion). Currently, you can choose between 1.0 and 1.2.
180
+
181
+
### Can I configure Front Door to only support specific cipher suites?
182
+
183
+
No, configuring Front Door for specific cipher suites is not supported. However, you can get your own custom SSL certificate from your Certificate Authority (say Verisign, Entrust, or Digicert) and have specific cipher suites marked on the certificate when you have it generated.
184
+
185
+
### Does Front Door support OCSP stapling?
186
+
187
+
Yes, OCSP stapling is supported by default by Front Door and no configuration is required.
188
+
181
189
### Does Azure Front Door also support re-encryption of traffic to the backend?
182
190
183
191
Yes, Azure Front Door supports SSL offload, and end to end SSL, which re-encrypts the traffic to the backend. In fact, since the connections to the backend happen over it's public IP, it is recommended that you configure your Front Door to use HTTPS as the forwarding protocol.
184
192
185
-
### Can I configure SSL policy to control SSL Protocol versions?
193
+
### Does Front Door support self-signed certificates on the backend for HTTPS connection?
186
194
187
-
You can configure a minimum TLS version in Azure Front Door via the [Azure REST API](https://docs.microsoft.com/rest/api/frontdoorservice/frontdoor/frontdoors/createorupdate#minimumtlsversion). Currently, you can choose between 1.0 and 1.2.
195
+
No, self-signed certificates are not supported on Front Door and the restriction applies to both:
188
196
189
-
### Can I configure Front Door to only support specific cipher suites?
197
+
1.**Backends**: You cannot use self-signed certificates when you are forwarding the traffic as HTTPS or HTTPS health probes or filling the cache for from origin for routing rules with caching enabled.
198
+
2.**Frontend**: You cannot use self-signed certificates when using your own custom SSL certificate for enabling HTTPS on your custom domain.
199
+
200
+
### Why is HTTPS traffic to my backend failing?
201
+
202
+
For having successful HTTPS connections to your backend whether for health probes or for forwarding requests, there could be two reasons why HTTPS traffic might fail:
190
203
191
-
No, configuring Front Door for specific cipher suites is not supported.
204
+
1.**Certificate subject name mismatch**: For HTTPS connections, Front Door expects that your backend presents certificate from a valid CA with subject name(s) matching the backend hostname. As an example, if your backend hostname is set to `myapp-centralus.contosonews.net` and the certificate that your backend presents during the SSL handshake neither has `myapp-centralus.contosonews.net` nor `*myapp-centralus*.contosonews.net` in the subject name, the Front Door will refuse the connection and result in an error.
205
+
1.**Solution**: While it is not recommended from a compliance standpoint, you can workaround this error by disabling certificate subject name check for your Front Door. This is present under Settings in Azure portal and under BackendPoolsSettings in the API.
206
+
2.**Backend hosting certificate from invalid CA**: Only certificates from [valid CAs]() can be used at the backend with Front Door. Certificates from internal CAs or self-signed certificates are not allowed.
Copy file name to clipboardExpand all lines: articles/frontdoor/front-door-health-probes.md
+6-2Lines changed: 6 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,8 +17,8 @@ ms.author: sharadag
17
17
18
18
In order to determine the health and proximity of each backend from a given Front Door environment, each Front Door environment periodically sends a synthetic HTTP/HTTPS request to each of your configured backends. Front Door then uses responses from these probes to determine the "best" backends to which it should route real client requests.
19
19
20
-
> [!NOTE]
21
-
> Since Front Door has many edge environments globally, health probe requests volume to your backends can be quite high - ranging from 18 requests every minute to as high as 960 requests per minute, depending on the health probe frequency configured.
20
+
> [!WARNING]
21
+
> Since Front Door has many edge environments globally, health probe requests volume to your backends can be quite high - ranging from 25 requests every minute to as high as 1200 requests per minute, depending on the health probe frequency configured. With the default probe frequency of 30 seconds, the probe volume on your backend should be about 200 requests per minute.
22
22
23
23
## Supported protocols
24
24
@@ -63,6 +63,10 @@ If health probes fail for every backend in a backend pool, then Front Door consi
63
63
64
64
Once any backend returns to a healthy state, then Front Door will resume the normal load-balancing algorithm.
65
65
66
+
## Disabling health probes
67
+
68
+
If you have a single backend in your backend pool, you can choose to disable the health probes reducing the load on your application backend. Even if you have multiple backends in the backend pool but only one of them is in enabled state, you can disable health probes.
69
+
66
70
## Next steps
67
71
68
72
- Learn how to [create a Front Door](quickstart-create-front-door.md).
0 commit comments