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/app-service/configure-ssl-certificate.md
+18-4Lines changed: 18 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -136,16 +136,13 @@ If you use Azure Key Vault to manage your certificates, you can import a PKCS12
136
136
137
137
By default, the App Service resource provider doesn't have access to your key vault. To use a key vault for a certificate deployment, you must authorize read access for the resource provider (App Service) to the key vault. You can grant access either with access policy or RBAC.
138
138
139
-
### [RBAC permissions](#tab/RBAC)
139
+
### [RBAC permissions](#tab/rbac)
140
140
| Resource provider | Service principal app ID / assignee | Key vault RBAC role |
141
141
|--|--|--|
142
142
|**Microsoft Azure App Service** or **Microsoft.Azure.WebSites**| - `abfa0a7c-a6b6-4736-8310-5855508787cd` for public Azure cloud environment <br><br>- `6a02c803-dafd-4136-b4c3-5a6f318b4714` for Azure Government cloud environment | Certificate User |
143
143
144
144
The service principal app ID or assignee value is the ID for the App Service resource provider. To learn how to authorize key vault permissions for the App Service resource provider using an access policy, see the [provide access to Key Vault keys, certificates, and secrets with an Azure role-based access control documentation](/azure/key-vault/general/rbac-guide?tabs=azure-portal#key-vault-scope-role-assignment).
145
145
146
-
> [!NOTE]
147
-
> Do not delete these RBAC permissions from key vault. If you do, App Service will not be able to sync your web app with the latest key vault certificate version.
> Do not delete these RBAC permissions from key vault. If you do, App Service will not be able to sync your web app with the latest key vault certificate version.
172
+
173
+
---
174
+
175
+
162
176
### Import a certificate from your vault to your app
163
177
164
178
1. In the [Azure portal](https://portal.azure.com), from the left menu, select **App Services** > **\<app-name>**.
@@ -30,19 +30,52 @@ Use the following resources to get started with .NET.
30
30
|**Review best practices**| - [Scale your app](./manage-scale-up.md)<br>- [Deployment](./deploy-best-practices.md)<br>- [Security](/security/benchmark/azure/baselines/app-service-security-baseline?toc=/azure/app-service/toc.json)<br>- [Virtual Network](./configure-vnet-integration-enable.md)|
31
31
32
32
::: zone-end
33
-
::: zone pivot="stack-python"
33
+
::: zone pivot="stack-java"
34
34
35
-
## Python
35
+
## Java
36
+
37
+
App Service aims to provide robust support for Java. To cover the depth and breadth of
38
+
Java applications, App Service supports the Java Standard Edition (SE), Tomcat, and
39
+
JBoss Enterprise Application Platform (EAP) technology stacks. At the base of these
40
+
stacks, App Service supports all recent Java long-term support (LTS) versions. There are
41
+
several key scenarios for which you should consider adopting App Service for your Java
42
+
applications.
43
+
44
+
### Java SE on App Service
45
+
Java SE on App Service allows you to effortlessly deploy your applications to fully
46
+
managed Java Virtual Machine (JVM) instances. You should consider this stack if you
47
+
have Spring Boot and Quarkus web applications. However, you can use this stack for any
48
+
application that can be started directly from a JVM and includes an embedded
49
+
HyperText Transfer Protocol (HTTP) server. You can deploy your
50
+
Java archive (JAR) file and let App Service do the rest.
51
+
52
+
### Tomcat on App Service
53
+
This App Service stack supports all recent major and minor versions of Tomcat.
54
+
You should consider migrating on-premises Tomcat web applications to App Service using
55
+
this stack. Such applications often use technologies such as the Spring Framework and
56
+
Hibernate. The stack is also suitable for applications currently running on servers such
57
+
as WebLogic or WebSphere that can be easily migrated to Tomcat. You can deploy
58
+
your web application archive (WAR) file and let App Service do the rest.
59
+
60
+
### JBoss EAP on App Service
61
+
You can effortlessly run any JBoss EAP version currently supported by Red Hat on this
62
+
App Service stack. JBoss EAP is fully compatible with the Java Enterprise Edition (EE)
63
+
and Jakarta EE standards. The stack can optionally support any application that requires
64
+
JBoss EAP clustering. You should consider migrating applications currently running
65
+
on-premises on JBoss EAP and WildFly to this stack. The stack is also suitable for
66
+
applications running on servers such as WebLogic or WebSphere that can be easily migrated
67
+
to JBoss EAP. You can deploy your web application archive (WAR) or
68
+
enterprise archive (EAR) file and let App Service do the rest.
36
69
37
-
Use the following resources to get started with Python.
70
+
Use the following resources to get started with Java.
38
71
39
72
| Action | Resources |
40
73
| --- | --- |
41
-
|**Create your first Python app**| Use one of the following tools:<br><br>- [Flask - CLI](./quickstart-python.md?tabs=flask%2Cwindows%2Cazure-cli%2Cvscode-deploy%2Cdeploy-instructions-azportal%2Cterminal-bash%2Cdeploy-instructions-zip-azcli)<br>- [Flask - Visual Studio Code](./quickstart-python.md?tabs=flask%2Cwindows%2Cvscode-aztools%2Cvscode-deploy%2Cdeploy-instructions-azportal%2Cterminal-bash%2Cdeploy-instructions-zip-azcli)<br>- [Django - CLI](./quickstart-python.md?tabs=django%2Cwindows%2Cazure-cli%2Cvscode-deploy%2Cdeploy-instructions-azportal%2Cterminal-bash%2Cdeploy-instructions-zip-azcli)<br>- [Django - Visual Studio Code](./quickstart-python.md?tabs=django%2Cwindows%2Cvscode-aztools%2Cvscode-deploy%2Cdeploy-instructions-azportal%2Cterminal-bash%2Cdeploy-instructions-zip-azcli)<br>- [Django - Azure portal](./quickstart-python.md?tabs=django%2Cwindows%2Cazure-portal%2Cvscode-deploy%2Cdeploy-instructions-azportal%2Cterminal-bash%2Cdeploy-instructions-zip-azcli)|
42
-
|**Deploy your app**| - [Configure Python](configure-language-python.md)<br>- [GitHub Actions](./deploy-github-actions.md)|
43
-
|**Monitor your app**| - [Log stream](./troubleshoot-diagnostic-logs.md#stream-logs)<br>- [Diagnose and solve tool](./overview-diagnostics.md)|
74
+
|**Create your first Java app**| Use one of the following tools:<br><br>- [Maven deploy with an embedded web server](./quickstart-java.md?pivots=java-javase)<br>- [Maven deploy to a Tomcat server](./quickstart-java.md?pivots=java-tomcat)<br>- [Maven deploy to a JBoss EAP server](./quickstart-java.md?pivots=java-jboss)|
75
+
|**Deploy your app**| - [With Maven](configure-language-java-deploy-run.md?pivots=platform-linux#maven)<br>- [With Gradle](configure-language-java-deploy-run.md?pivots=platform-linux#gradle)<br>- [With popular IDEs (Visual Studio Code, IntelliJ, and Eclipse)](configure-language-java-deploy-run.md?pivots=platform-linux#ides)<br>- [Deploy JAR, WAR, or EAR packages directly](./deploy-zip.md?tabs=cli#deploy-warjarear-packages)<br>- [With GitHub Actions](./deploy-github-actions.md)<br>- [With Azure DevOps](./deploy-azure-pipelines.md)|
76
+
|**Monitor your app**| - [Monitoring overview](./monitor-app-service.md)<br>- [Log stream](./troubleshoot-diagnostic-logs.md#stream-logs)<br>- [Diagnose and solve tool](./overview-diagnostics.md)|
44
77
|**Add domains & certificates**|- [Map a custom domain](./app-service-web-tutorial-custom-domain.md?tabs=root%2Cazurecli)<br>- [Add an SSL certificate](./configure-ssl-certificate.md)|
45
-
|**Connect to a database**|- [PostgreSQL - CLI](./tutorial-python-postgresql-app-flask.md?pivots=azure-developer-cli)<br>- [PostgreSQL - Azure portal](./tutorial-python-postgresql-app-flask.md?pivots=azure-portal)|
78
+
|**Connect to a database**|- [Spring Boot with Azure Cosmos DB](./tutorial-java-spring-cosmosdb.md)<br>- [Tomcat with PostgreSQL](./tutorial-java-tomcat-connect-managed-identity-postgresql-database.md)<br>- [JBoss EAP with PostgreSQL](./tutorial-java-jboss-mysql-app.md)|
46
79
|**Custom containers**|- [Linux - Visual Studio Code](./quickstart-custom-container.md?tabs=python&pivots=container-linux-vscode)|
47
80
|**Review best practices**| - [Scale your app](./manage-scale-up.md)<br>- [Deployment](./deploy-best-practices.md)<br>- [Security](/security/benchmark/azure/baselines/app-service-security-baseline?toc=/azure/app-service/toc.json)<br>- [Virtual networks](./configure-vnet-integration-enable.md)|
48
81
@@ -64,19 +97,19 @@ Use the following resources to get started with Node.js.
64
97
|**Review best practices**| - [Scale your app](./manage-scale-up.md)<br>- [Deployment](./deploy-best-practices.md)<br>- [Security](/security/benchmark/azure/baselines/app-service-security-baseline?toc=/azure/app-service/toc.json)<br>- [Virtual networks](./configure-vnet-integration-enable.md)|
65
98
66
99
::: zone-end
67
-
::: zone pivot="stack-java"
100
+
::: zone pivot="stack-python"
68
101
69
-
## Java
102
+
## Python
70
103
71
-
Use the following resources to get started with Java.
104
+
Use the following resources to get started with Python.
72
105
73
106
| Action | Resources |
74
107
| --- | --- |
75
-
|**Create your first Java app**| Use one of the following tools:<br><br>- [Maven deploy with an embedded web server](./quickstart-java.md?pivots=java-javase)<br>- [Maven deploy to a Tomcat server](./quickstart-java.md?pivots=java-tomcat)<br>- [Maven deploy to a JBoss server](./quickstart-java.md?pivots=java-jboss)|
76
-
|**Deploy your app**| - [With Maven](configure-language-java-deploy-run.md?pivots=platform-linux#maven)<br>- [With Gradle](configure-language-java-deploy-run.md?pivots=platform-linux#gradle)<br>- [With popular IDEs (Visual Studio Code, IntelliJ, and Eclipse)](configure-language-java-deploy-run.md?pivots=platform-linux#ides)<br>- [Deploy WAR or JAR packages directly](./deploy-zip.md?tabs=cli#deploy-warjarear-packages)<br>- [With GitHub Actions](./deploy-github-actions.md)|
108
+
|**Create your first Python app**| Use one of the following tools:<br><br>- [Flask - CLI](./quickstart-python.md?tabs=flask%2Cwindows%2Cazure-cli%2Cvscode-deploy%2Cdeploy-instructions-azportal%2Cterminal-bash%2Cdeploy-instructions-zip-azcli)<br>- [Flask - Visual Studio Code](./quickstart-python.md?tabs=flask%2Cwindows%2Cvscode-aztools%2Cvscode-deploy%2Cdeploy-instructions-azportal%2Cterminal-bash%2Cdeploy-instructions-zip-azcli)<br>- [Django - CLI](./quickstart-python.md?tabs=django%2Cwindows%2Cazure-cli%2Cvscode-deploy%2Cdeploy-instructions-azportal%2Cterminal-bash%2Cdeploy-instructions-zip-azcli)<br>- [Django - Visual Studio Code](./quickstart-python.md?tabs=django%2Cwindows%2Cvscode-aztools%2Cvscode-deploy%2Cdeploy-instructions-azportal%2Cterminal-bash%2Cdeploy-instructions-zip-azcli)<br>- [Django - Azure portal](./quickstart-python.md?tabs=django%2Cwindows%2Cazure-portal%2Cvscode-deploy%2Cdeploy-instructions-azportal%2Cterminal-bash%2Cdeploy-instructions-zip-azcli)|
109
+
|**Deploy your app**| - [Configure Python](configure-language-python.md)<br>- [GitHub Actions](./deploy-github-actions.md)|
77
110
|**Monitor your app**| - [Log stream](./troubleshoot-diagnostic-logs.md#stream-logs)<br>- [Diagnose and solve tool](./overview-diagnostics.md)|
78
111
|**Add domains & certificates**|- [Map a custom domain](./app-service-web-tutorial-custom-domain.md?tabs=root%2Cazurecli)<br>- [Add an SSL certificate](./configure-ssl-certificate.md)|
79
-
|**Connect to a database**|- [Java Spring with Azure Cosmos DB](./tutorial-java-spring-cosmosdb.md)|
112
+
|**Connect to a database**|- [PostgreSQL - CLI](./tutorial-python-postgresql-app.md?tabs=flask%2Cwindows&pivots=azure-developer-cli)<br>- [PostgreSQL - Azure portal](./tutorial-python-postgresql-app.md?tabs=flask%2Cwindows&pivots=azure-portal)|
80
113
|**Custom containers**|- [Linux - Visual Studio Code](./quickstart-custom-container.md?tabs=python&pivots=container-linux-vscode)|
81
114
|**Review best practices**| - [Scale your app](./manage-scale-up.md)<br>- [Deployment](./deploy-best-practices.md)<br>- [Security](/security/benchmark/azure/baselines/app-service-security-baseline?toc=/azure/app-service/toc.json)<br>- [Virtual networks](./configure-vnet-integration-enable.md)|
Copy file name to clipboardExpand all lines: articles/app-service/monitor-instances-health-check.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -202,6 +202,9 @@ Imagine you have two applications (or one app with a slot) with Health check ena
202
202
203
203
If all instances of your application are unhealthy, App Service won't remove instances from the load balancer. In this scenario, taking all unhealthy app instances out of the load balancer rotation would effectively cause an outage for your application. However, the instance replacement will still occur.
204
204
205
+
### What happens during a slot swap?
206
+
Health check configuration is not slot-specific, so after a swap, the Health check configuration of the swapped slot will be applied to the destination slot and vice-versa. For example, if you have Health Check enabled for your staging slot the endpoint configured will be applied to the production slot after a swap.
207
+
205
208
### Does Health check work on App Service Environments?
206
209
207
210
Yes, health check is available for App Service Environment v3, but not for versions 1 or 2. If you're using the older versions of App Service Environment, you can use the [migration feature](environment/migrate.md) to migrate your App Service Environment to version 3.
Azure Cache for Redis is based on the popular open-source in-memory data store, open-source Redis. Azure Cache for Redis can be accessed by a wide variety of Redis clients for many programming languages. Each client library has its own API that makes calls to Redis server using Redis commands, but the client libraries are built to talk to any Redis server.
13
+
Azure Cache for Redis is based on the popular open-source in-memory data store, open-source Redis. Redis clients for many programming languages can access Azure Managed Redis. Each client library has its own API that makes calls to Redis server using Redis commands, but the client libraries are built to talk to any Redis server.
14
14
15
15
Each client maintains its own reference documentation for its library. The clients also provide links to get support through the client library developer community. The Azure Cache for Redis team doesn't own the development, or the support for any client libraries.
16
16
@@ -33,7 +33,6 @@ Although we don't own or support any client libraries, we do recommend some libr
33
33
For information on client library-specific guidance best practices, see the following links:
@@ -48,9 +47,9 @@ We _recommend_ you use redisson 3.14.1 or higher. Older versions contain known
48
47
49
48
Other notes:
50
49
51
-
- Redisson defaults to 'read from replica' strategy, unlike some other clients. To change this, modify the 'readMode' config setting.
52
-
- Redisson has a connection pooling strategy with configurable minimum and maximum settings, and the default minimum values are large. The large defaults could contribute to aggressive reconnect behaviors or 'connection storms'. To reduce the risk, consider using fewer connections because you can efficiently pipeline commands, or batches of commands, over a few connections.
53
-
- Redisson has a default idle connection timeout of 10 seconds, which leads to more closing and reopening of connections than ideal.
50
+
- Redisson defaults to 'read from replica' strategy, unlike some other clients. To change this default, modify the 'readMode' config setting.
51
+
- Redisson has a connection pooling strategy with configurable minimum and maximum settings, and the default minimum values are large. The large defaults could contribute to aggressive reconnect behaviors or 'connection storms.' To reduce the risk, consider using fewer connections because you can efficiently pipeline commands, or batches of commands, over a few connections.
52
+
- Redisson has a default idle connection time out of 10 seconds, which leads to more closing and reopening of connections than ideal.
54
53
55
54
Here's a recommended baseline configuration for cluster mode that you can modify as needed:
56
55
@@ -83,7 +82,7 @@ clusterServersConfig:
83
82
tcpNoDelay: true
84
83
```
85
84
86
-
For an article demonstrating how to use Redisson's support for JCache as the store for HTTP session state in IBM Liberty on Azure, see [Use Java EE JCache with Open Liberty or WebSphere Liberty on an Azure Kubernetes Service (AKS) cluster](/azure/developer/java/ee/how-to-deploy-java-liberty-jcache).
85
+
For an article about Redisson's support for JCache as the store for HTTP session state in IBM Liberty on Azure, see [Use Java EE JCache with Open Liberty or WebSphere Liberty on an Azure Kubernetes Service (AKS) cluster](/azure/developer/java/ee/how-to-deploy-java-liberty-jcache).
0 commit comments