Skip to content

Commit d9f02a6

Browse files
Learn Build Service GitHub AppLearn Build Service GitHub App
authored andcommitted
Merging changes synced from https://github.com/MicrosoftDocs/azure-docs-pr (branch live)
2 parents dd25b37 + df9b48d commit d9f02a6

File tree

110 files changed

+1020
-1578
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

110 files changed

+1020
-1578
lines changed

articles/app-service/app-service-web-configure-tls-mutual-auth.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ In the following screenshot, any path for your app that starts with `/public` do
109109
![Certificate Exclusion Paths][exclusion-paths]
110110

111111
## Client certificate and TLS renegotiation
112-
App Service requires TLS renegotiation to read a request before knowing whether to prompt for a client certificate. Any of the following settings triggers TLS renegotiation:
112+
For some client certificate settings, App Service requires TLS renegotiation to read a request before knowing whether to prompt for a client certificate. Any of the following settings triggers TLS renegotiation:
113113
1. Using "Optional Interactive User" client certificate mode.
114114
1. Using [client certificate exclusion path](#exclude-paths-from-requiring-authentication).
115115

articles/app-service/migrate-wordpress.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ title: Migrate WordPress to App Service on Linux
33
description: Migrate WordPress to App Service on Linux.
44
author: msangapu-msft
55

6+
ms.subservice: wordpress
67
ms.topic: article
78
ms.date: 01/20/2023
89
ms.author: msangapu

articles/app-service/overview-wordpress.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.topic: overview
88
ms.date: 12/10/2024
99
# ms.devlang: wordpress
1010
ms.author: msangapu
11-
ms.service: azure-app-service
11+
ms.subservice: wordpress
1212
ms.custom: mvc, linux-related-content
1313
#customer intent: As a new Azure customer, I want to learn more about WordPress on App Service so that I can build an effective WP site.
1414
---

articles/app-service/quickstart-wordpress.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ title: 'Quickstart: Create a WordPress site'
33
description: Create your first WordPress site on Azure App Service in minutes.
44
keywords: app service, azure app service, wordpress, preview, app service on linux, plugins, mysql flexible server, wordpress on linux, php
55
author: msangapu-msft
6+
ms.subservice: wordpress
67
ms.topic: quickstart
78
ms.date: 03/28/2024
89
# ms.devlang: wordpress

articles/app-service/toc.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -401,7 +401,7 @@
401401
href: overview-wordpress.md
402402
- name: WordPress architecture
403403
displayName: WordPress on App Service architecture
404-
href: /azure/architecture/example-scenario/infrastructure/wordpress-app-service
404+
href: /azure/architecture/example-scenario/infrastructure/wordpress-app-service?toc=%2Fazure%2Fapp-service%2Ftoc.json&bc=%2Fazure%2Fapp-service%2Fbreadcrumb%2Ftoc.json
405405
- name: Deploy WordPress
406406
displayName: Create a WordPress site
407407
href: quickstart-wordpress.md
@@ -413,7 +413,7 @@
413413
href: reference-app-settings.md#wordpress
414414
- name: Customize API Management developer portal
415415
displayName: API Management and WordPress
416-
href: /azure/api-management/developer-portal-wordpress-plugin
416+
href: /azure/api-management/developer-portal-wordpress-plugin?toc=%2Fazure%2Fapp-service%2Ftoc.json&bc=%2Fazure%2Fapp-service%2Fbreadcrumb%2Ftoc.json
417417
- name: WordPress FAQ
418418
displayName: WordPress frequently asked questions
419419
href: wordpress-faq.md

articles/app-service/wordpress-faq.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ description: Use this article to find frequently asked questions and answers abo
44
keywords: app service, azure app service, wordpress, preview, app service on linux, plugins, mysql flexible server, wordpress on linux, php
55
ai-usage: ai-assisted
66
author: reddyabhishek
7+
ms.subservice: wordpress
78
ms.topic: faq
89
ms.date: 12/13/2024
910
# ms.devlang: wordpress

articles/azure-cache-for-redis/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,8 @@
131131
href: managed-redis/managed-redis-best-practices-server-load.md
132132
- name: Performance testing
133133
href: managed-redis/managed-redis-best-practices-performance.md
134+
- name: Kubernetes-hosted client applications best practices
135+
href: managed-redis/managed-redis-best-practices-kubernetes.md
134136

135137
- name: Authentication and authorization
136138
items:

articles/azure-cache-for-redis/cache-best-practices-kubernetes.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ A pod running the client application can be affected by other pods running on th
2424

2525
## Linux-hosted client applications and TCP settings
2626

27-
If your Azure Managed Redis (preview) client application runs on a Linux-based container, we recommend updating some TCP settings. These settings are detailed in [TCP settings for Linux-hosted client applications](cache-best-practices-connection.md#tcp-settings-for-linux-hosted-client-applications).
27+
If your Azure Cache for Redis client application runs on a Linux-based container, we recommend updating some TCP settings. These settings are detailed in [TCP settings for Linux-hosted client applications](cache-best-practices-connection.md#tcp-settings-for-linux-hosted-client-applications).
2828

2929
## Potential connection collision with _Istio/Envoy_
3030

31-
Currently, Azure Managed Redis (preview) uses ports 15xxx for clustered caches to expose cluster nodes to client applications. As documented [here](https://istio.io/latest/docs/ops/deployment/application-requirements/#ports-used-by-istio), the same ports are also used by _Istio.io_ sidecar proxy called _Envoy_ and could interfere with creating connections, especially on port 15001 and 15006.
31+
<!-- Currently, Azure Cache for Redis uses ports 15xxx for clustered caches to expose cluster nodes to client applications. As documented [here](https://istio.io/latest/docs/ops/deployment/application-requirements/#ports-used-by-istio), the same ports are also used by _Istio.io_ sidecar proxy called _Envoy_ and could interfere with creating connections, especially on port 15001 and 15006. -->
3232

3333
When using _Istio_ with an Azure Managed Redis cluster, consider excluding the potential collision ports with an [istio annotation](https://istio.io/latest/docs/reference/config/annotations/).
3434

@@ -40,7 +40,7 @@ annotations:
4040
To avoid connection interference, we recommend:
4141

4242
- Consider using a nonclustered cache or an Enterprise tier cache instead
43-
- Avoid configuring _Istio_ sidecars on pods running Azure Managed Redis (preview) client code
43+
- Avoid configuring _Istio_ sidecars on pods running Azure Cache for Redis client code
4444

4545
## Related content
4646

articles/azure-cache-for-redis/cache-remove-tls-10-11.md

Lines changed: 113 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@ description: Learn how to remove TLS 1.0 and 1.1 from your application when comm
44

55

66
ms.topic: conceptual
7-
ms.date: 09/12/2023
7+
ms.date: 12/09/2024
88

9-
ms.devlang: csharp
10-
# ms.devlang: csharp, golang, java, javascript, php, python
9+
ms.custom: devx-track-azurepowershell, devx-track-azurecli
1110

1211
---
1312

@@ -23,20 +22,20 @@ TLS versions 1.0 and 1.1 also don't support the modern encryption methods and ci
2322
>
2423
2524
> [!IMPORTANT]
26-
> The TLS 1.0/1.1 retirement content in this article does not apply to Azure Cache for Redis Enterprise/Enterprise Flash because the Enterprise tiers only support TLS 1.2.
27-
>
25+
> The TLS 1.0/1.1 retirement content in this article does not apply to Azure Cache for Redis Enterprise/Enterprise Flash because the Enterprise tiers only support TLS 1.2 or newer.
2826
2927
As a part of this effort, you can expect the following changes to Azure Cache for Redis:
3028

3129
- _Phase 1_: Azure Cache for Redis stops offering TLS 1.0/1.1 as an option for _MinimumTLSVersion_ setting for new cache creates. Existing cache instances won't be updated at this point. You can't set the _MinimumTLSVersion_ to 1.0 or 1.1 for your existing cache.
3230
- _Phase 2_: Azure Cache for Redis stops supporting TLS 1.1 and TLS 1.0 starting March 1, 2025. After this change, your application must use TLS 1.2 or later to communicate with your cache. The Azure Cache for Redis service remains available while we update the _MinimumTLSVersion_ for all caches to 1.2.
3331

34-
| Date | Description |
35-
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
36-
| September 2023 | TLS 1.0/1.1 retirement announcement |
37-
| March 1, 2024 | Beginning March 1, 2024, you can't create new caches with the Minimum TLS version set to 1.0 or 1.1 and you can't set the _MinimumTLSVersion_ to 1.0 or 1.1 for your existing cache. The minimum TLS version won't be updated automatically for existing caches at this point. |
38-
| October 31, 2024 | Ensure that all your applications are connecting to Azure Cache for Redis using TLS 1.2 and Minimum TLS version on your cache settings is set to 1.2. |
39-
| Starting March 1, 2025 | Minimum TLS version for all cache instances is updated to 1.2. This means Azure Cache for Redis instances reject connections using TLS 1.0 or 1.1 at this point. |
32+
33+
| Date | Description |
34+
|--|--|
35+
| September 2023 | TLS 1.0/1.1 retirement announcement |
36+
| March 1, 2024 | Beginning March 1, 2024, you can't create new caches with the Minimum TLS version set to 1.0 or 1.1 and you can't set the _MinimumTLSVersion_ to 1.0 or 1.1 for your existing cache. The minimum TLS version aren't updated automatically for existing caches at this point. |
37+
| October 31, 2024 | Ensure that all your applications are connecting to Azure Cache for Redis using TLS 1.2 and Minimum TLS version on your cache settings is set to 1.2. |
38+
| Starting March 1, 2025 | Minimum TLS version for all cache instances is updated to 1.2. This means Azure Cache for Redis instances reject connections using TLS 1.0 or 1.1 at this point. |
4039

4140
> [!IMPORTANT]
4241
> The content in this article does not apply to Azure Cache for Redis Enterprise/Enterprise Flash because the Enterprise tiers only support TLS 1.2.
@@ -49,30 +48,107 @@ As part of this change, Azure Cache for Redis removes support for older cipher s
4948

5049
The following sections provide guidance about how to detect dependencies on these earlier TLS versions and remove them from your application.
5150

52-
### Check whether your application is already compliant
51+
## Check TLS versions supported by your Azure Cache for Redis
52+
53+
You can use this PowerShell script to verify the TLS versions supported by your Azure Cache for Redis endpoint. If your Redis instance is virtual network (VNet) injected, you have to run this script from a Virtual Machine in your VNet that has access to the Azure Cache for Redis endpoint.
54+
55+
If the result shows `Tls Enabled` and/or `Tls 11 Enabled`, then ensure you follow the instructions to [Configure your Azure Cache for Redis to use TLS 1.2](#configure-your-azure-cache-for-redis-to-use-tls-12). If the result shows only `Tls12 Enabled` and your client application is able to connect without any errors, then no action is needed.
56+
57+
```powershell
58+
param(
59+
[Parameter(Mandatory=$true)]
60+
[string]$redisCacheName,
61+
[Parameter(Mandatory=$false)]
62+
[string]$dnsSuffix = ".redis.cache.windows.net",
63+
[Parameter(Mandatory=$false)]
64+
[int]$connectionPort = 6380,
65+
[Parameter(Mandatory=$false)]
66+
[int]$timeoutMS = 2000
67+
)
68+
$redisEndpoint = "$redisCacheName$dnsSuffix"
69+
$protocols = @(
70+
[System.Security.Authentication.SslProtocols]::Tls,
71+
[System.Security.Authentication.SslProtocols]::Tls11,
72+
[System.Security.Authentication.SslProtocols]::Tls12
73+
)
74+
$protocols | % {
75+
$ver = $_
76+
$tcpClientSocket = New-Object Net.Sockets.TcpClient($redisEndpoint, $connectionPort )
77+
if(!$tcpClientSocket)
78+
{
79+
Write-Error "$ver- Error Opening Connection: $port on $computername Unreachable"
80+
exit 1;
81+
}
82+
else
83+
{
84+
$tcpstream = $tcpClientSocket.GetStream()
85+
$sslStream = New-Object System.Net.Security.SslStream($tcpstream,$false)
86+
$sslStream.ReadTimeout = $timeoutMS
87+
$sslStream.WriteTimeout = $timeoutMS
88+
try
89+
{
90+
$sslStream.AuthenticateAsClient($redisEndpoint, $null, $ver, $false)
91+
Write-Host "$ver Enabled"
92+
}
93+
catch [System.IO.IOException]
94+
{
95+
$null = $_
96+
#Write-Host "$ver Disabled"
97+
}
98+
catch
99+
{
100+
$null = $_
101+
#Write-Error "Unexpected exception $_"
102+
}
103+
}
104+
}
105+
```
106+
107+
## Configure your Azure Cache for Redis to use TLS 1.2
108+
109+
You can configure TLS 1.2 on the cache by setting the **Minimum TLS version** value to TLS 1.2 in the [Advanced settings](cache-configure.md#advanced-settings) of your cache in the Azure portal.
110+
111+
1. To configure your cache to use TLS 1.2, first select **Advanced settings** from the Resource menu of your cache.
112+
113+
1. Select **1.2** in the **Minimum TLS version** in the working pane. Then, select **Save**.
114+
115+
:::image type="content" source="media/cache-remove-tls-10-11/change-redis-tls-version.png" alt-text="Screenshot showing the Set TLS 1.2 for cache on Azure portal":::
53116

54-
You can find out whether your application works with TLS 1.2 by setting the **Minimum TLS version** value to TLS 1.2 on a test or staging cache, then running tests. The **Minimum TLS version** setting is in the [Advanced settings](cache-configure.md#advanced-settings) of your cache instance in the Azure portal. If the application continues to function as expected after this change, then your app is using TLS 1.2 or newer.
117+
You can also do the same using PowerShell. You need the Az.RedisCache module already installed before running the command.
55118

56-
### Configure your application to use TLS 1.2 or later
119+
```powershell
120+
Set-AzRedisCache -Name <YourRedisCacheName> -MinimumTlsVersion "1.2"
121+
```
122+
123+
For setting the TLS version through CLI, the `--minimum-tls-version` is available only at Redis creation time and changing `minimum-tls-version` on an existing Redis instance isn't supported.
124+
125+
> [!NOTE]
126+
> The Azure Cache for Redis service should be available during the migration TLS 1.2 or later.
127+
128+
## Check whether your client application is already compliant
57129

58-
Most applications use Redis client libraries to handle communication with their caches. Here are instructions for configuring some of the popular client libraries, in various programming languages and frameworks, to use TLS 1.2 or later.
130+
You can find out whether your application works with TLS 1.2 by setting the **Minimum TLS version** value to TLS 1.2 as explained earlier, on a test or staging cache and then running tests. If the application continues to function as expected after this change, it's probably compliant. It's possible you might need to [configure the Redis client library](#configure-your-client-application-to-use-tls-12) used by your application to specifically enable TLS 1.2 to connect to Azure Cache for Redis.
59131

60-
#### .NET
132+
## Configure your client application to use TLS 1.2
133+
134+
Most applications use Redis client libraries to handle communication with their caches. Here are instructions for configuring some of the popular client libraries, in various programming languages and frameworks, to use TLS 1.2.
135+
136+
### .NET
61137

62138
Redis .NET clients use the earliest TLS version by default on .NET Framework 4.5.2 or earlier, and use the latest TLS version on .NET Framework 4.6 or later. If you're using an older version of .NET Framework, enable TLS 1.2 manually:
63139

64140
- _StackExchange.Redis_: Set `ssl=true` and `sslProtocols=tls12` in the connection string.
65141
- _ServiceStack.Redis_: Follow the [ServiceStack.Redis](https://github.com/ServiceStack/ServiceStack.Redis#servicestackredis-ssl-support) instructions and requires ServiceStack.Redis v5.6 at a minimum.
66142

67-
#### .NET Core
143+
### .NET Core
68144

69145
Redis .NET Core clients default to the OS default TLS version, which depends on the OS itself.
70146

71147
Depending on the OS version and any patches that were applied, the effective default TLS version can vary. For more information, see [Transport Layer Security (TLS) best practices with the .NET Framework](/dotnet/framework/network-programming/tls).
72148

73149
However, if you're using an old OS or just want to be sure, we recommend configuring the preferred TLS version manually through the client.
74150

75-
#### Java
151+
### Java
76152

77153
Redis Java clients use TLS 1.0 on Java version 6 or earlier. Jedis, Lettuce, and Redisson can't connect to Azure Cache for Redis if TLS 1.0 is disabled on the cache. Upgrade your Java framework to use new TLS versions.
78154

@@ -98,31 +174,32 @@ In Java 8, TLS 1.2 is used by default and shouldn't require updates to your clie
98174

99175
As of Java 17, TLS 1.3 is used by default.
100176

101-
#### Node.js
177+
### Node.js
102178

103179
Node Redis and ioredis both support TLS 1.2 and 1.3.
104180

105-
#### PHP
181+
### PHP
106182

107-
- Versions earlier than PHP 7: Predis supports only TLS 1.0. These versions don't work with TLS 1.2; you must upgrade to use TLS 1.2.
183+
Versions earlier than PHP 7: Predis supports only TLS 1.0. These versions don't work with TLS 1.2; you must upgrade to use TLS 1.2.
108184

109-
- PHP 7.0 to PHP 7.2.1: Predis uses only TLS 1.0 or 1.1 by default. You can use the following workaround to use TLS 1.2. Specify TLS 1.2 when you create the client instance:
185+
PHP 7.0 to PHP 7.2.1: Predis uses only TLS 1.0 or 1.1 by default. You can use the following workaround to use TLS 1.2. Specify TLS 1.2 when you create the client instance:
110186

111-
``` PHP
112-
$redis=newPredis\Client([
113-
'scheme'=>'tls',
114-
'host'=>'host',
115-
'port'=>6380,
116-
'password'=>'password',
117-
'ssl'=>[
118-
'crypto_type'=>STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT,
119-
],
120-
]);
121-
```
187+
``` PHP
188+
$redis=newPredis\Client([
189+
'scheme'=>'tls',
190+
'host'=>'host',
191+
'port'=>6380,
192+
'password'=>'password',
193+
'ssl'=>[
194+
'crypto_type'=>STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT,
195+
],
196+
]);
197+
198+
```
122199

123-
- PHP 7.3 and later versions: Predis uses the latest TLS version.
200+
PHP 7.3 and later versions: Predis uses the latest TLS version.
124201

125-
#### PhpRedis
202+
### PhpRedis
126203

127204
PhpRedis doesn't support TLS on any PHP version.
128205

@@ -134,6 +211,6 @@ Redis-py uses TLS 1.2 by default.
134211

135212
Redigo uses TLS 1.2 by default.
136213

137-
## Additional information
214+
## Related content
138215

139216
- [How to configure Azure Cache for Redis](cache-configure.md)

articles/azure-cache-for-redis/managed-redis/managed-redis-best-practices-kubernetes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ A pod running the client application can be affected by other pods running on th
2626

2727
## Linux-hosted client applications and TCP settings
2828

29-
If your Azure Managed Redis (preview) client application runs on a Linux-based container, we recommend updating some TCP settings. These settings are detailed in [TCP settings for Linux-hosted client applications](managed-redis-best-practices-connection.md#tcp-settings-for-linux-hosted-client-applications).
29+
If your Azure Managed Redis (preview) client application runs on a Linux-based container, we recommend updating some TCP settings. These settings are detailed in [TCP settings for Linux-hosted client applications](managed-redis-best-practices-connection.md#tcp-settings-for-linux-hosted-client-applications).
3030

3131
## Related content
3232

0 commit comments

Comments
 (0)