Skip to content

Commit 314ca32

Browse files
committed
update with FAQ
1 parent a310333 commit 314ca32

File tree

2 files changed

+26
-27
lines changed

2 files changed

+26
-27
lines changed

articles/app-service/configure-common.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn to configure common settings for an App Service app. App sett
44
keywords: azure app service, web app, app settings, environment variables
55
ms.assetid: 9af8a367-7d39-4399-9941-b80cbc5f39a0
66
ms.topic: article
7-
ms.date: 07/11/2022
7+
ms.date: 04/21/2023
88
ms.custom: devx-track-csharp, seodec18, devx-track-azurecli, devx-track-azurepowershell
99
ms.devlang: azurecli
1010
---
@@ -433,16 +433,18 @@ Here, you can configure some common settings for the app. Some settings require
433433
![General settings for Linux containers](./media/configure-common/open-general-linux.png)
434434

435435
- **Platform settings**: Lets you configure settings for the hosting platform, including:
436+
- **Platform bitness**: 32-bit or 64-bit. For Windows apps only.
436437
- **FTP state**: Allow only FTPS or disable FTP altogether.
437-
- **Bitness**: 32-bit or 64-bit. For Windows apps only.
438-
- **WebSocket protocol**: For [ASP.NET SignalR] or [socket.io](https://socket.io/), for example.
439-
- **Always On**: Keeps the app loaded even when there's no traffic. When **Always On** is not turned on (default), the app is unloaded after 20 minutes without any incoming requests. The unloaded app can cause high latency for new requests because of its warm-up time. When **Always On** is turned on, the front-end load balancer sends a GET request to the application root every five minutes. The continuous ping prevents the app from being unloaded.
440-
441-
Always On is required for continuous WebJobs or for WebJobs that are triggered using a CRON expression.
442438
- **HTTP version**: Set to **2.0** to enable support for [HTTPS/2](https://wikipedia.org/wiki/HTTP/2) protocol.
443439
> [!NOTE]
444440
> Most modern browsers support HTTP/2 protocol over TLS only, while non-encrypted traffic continues to use HTTP/1.1. To ensure that client browsers connect to your app with HTTP/2, secure your custom DNS name. For more information, see [Secure a custom DNS name with a TLS/SSL binding in Azure App Service](configure-ssl-bindings.md).
441+
- **Web sockets**: For [ASP.NET SignalR] or [socket.io](https://socket.io/), for example.
442+
- **Always On**: Keeps the app loaded even when there's no traffic. When **Always On** is not turned on (default), the app is unloaded after 20 minutes without any incoming requests. The unloaded app can cause high latency for new requests because of its warm-up time. When **Always On** is turned on, the front-end load balancer sends a GET request to the application root every five minutes. The continuous ping prevents the app from being unloaded.
443+
444+
Always On is required for continuous WebJobs or for WebJobs that are triggered using a CRON expression.
445445
- **ARR affinity**: In a multi-instance deployment, ensure that the client is routed to the same instance for the life of the session. You can set this option to **Off** for stateless applications.
446+
- **HTTPS Only**: When enabled, all HTTP traffic are redirected to HTTPS.
447+
- **Minimum TLS version**: Select the minimum TLS encryption version required by your app.
446448
- **Debugging**: Enable remote debugging for [ASP.NET](troubleshoot-dotnet-visual-studio.md#remotedebug), [ASP.NET Core](/visualstudio/debugger/remote-debugging-azure), or [Node.js](configure-language-nodejs.md#debug-remotely) apps. This option turns off automatically after 48 hours.
447449
- **Incoming client certificates**: require client certificates in [mutual authentication](app-service-web-configure-tls-mutual-auth.md).
448450

articles/app-service/configure-ssl-bindings.md

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ This article shows you how to secure the [custom domain](app-service-web-tutoria
1616

1717
## Prerequisites
1818

19-
To follow this how-to guide:
20-
2119
- [Scale up your App Service app](manage-scale-up.md) to one of the supported pricing tiers: **Basic**, **Standard**, **Premium**.
2220
- [Map a domain name to your app](app-service-web-tutorial-custom-domain.md) or [buy and configure it in Azure](manage-custom-dns-buy-domain.md).
2321

@@ -82,39 +80,38 @@ Your application code can inspect the protocol via the "x-appservice-proto" head
8280
>
8381
> If that's not the case, you may have left out intermediate certificates when you export your certificate to the PFX file.
8482
85-
## Prevent IP changes
83+
## Frequently asked questions
84+
85+
- [How do I make sure that the app's IP address doesn't change when I make changes to the certificate binding?](#how-do-i-make-sure-that-the-apps-ip-address-doesnt-change-when-i-make-changes-to-the-certificate-binding)
86+
- [Can I disable the forced redirect from HTTP to HTTPS?](#can-i-disable-the-forced-redirect-from-http-to-https)
87+
- [How can I change the minimum TLS versions for the app?](#how-can-i-change-the-minimum-tls-versions-for-the-app)
88+
- [How do I handle TLS termination in App Service?](#how-do-i-handle-tls-termination-in-app-service)
89+
90+
<a name="prevent-ip-changes" />
91+
92+
#### How do I make sure that the app's IP address doesn't change when I make changes to the certificate binding?
8693

8794
Your inbound IP address can change when you delete a binding, even if that binding is IP SSL. This is especially important when you renew a certificate that's already in an IP SSL binding. To avoid a change in your app's IP address, follow these steps in order:
8895

8996
1. Upload the new certificate.
9097
2. Bind the new certificate to the custom domain you want without deleting the old one. This action replaces the binding instead of removing the old one.
9198
3. Delete the old certificate.
9299

93-
## Enforce HTTPS
94-
95-
In your app page, in the left navigation, select **TLS/SSL settings**. Then, in **HTTPS Only**, select **On**.
96-
97-
If selected **HTTPS Only**, **Off** It means anyone can still access your app using HTTP. You can redirect all HTTP requests to the HTTPS port by selecting **On**.
98-
99-
![Enforce HTTPS](./media/configure-ssl-bindings/enforce-https.png)
100-
101-
When the operation is complete, navigate to any of the HTTP URLs that point to your app. For example:
100+
<a name="enforce-https" />
102101

103-
- `http://<app_name>.azurewebsites.net`
104-
- `http://contoso.com`
105-
- `http://www.contoso.com`
102+
#### Can I disable the forced redirect from HTTP to HTTPS?
106103

107-
## Enforce TLS versions
104+
By default, App Service forces a redirect from HTTP requests to HTTPS. To disable this behavior, see [Configure general settings](configure-common.md#configure-general-settings).
108105

109-
Your app allows [TLS](https://wikipedia.org/wiki/Transport_Layer_Security) 1.2 by default, which is the recommended TLS level by industry standards, such as [PCI DSS](https://wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard). To enforce different TLS versions, follow these steps:
106+
<a name="enforce-tls-versions">
110107

111-
In your app page, in the left navigation, select **TLS/SSL settings**. Then, in **TLS version**, select the minimum TLS version you want. This setting controls the inbound calls only.
108+
#### How can I change the minimum TLS versions for the app?
112109

113-
![Enforce TLS 1.1 or 1.2](./media/configure-ssl-bindings/enforce-tls1-2.png)
110+
Your app allows [TLS](https://wikipedia.org/wiki/Transport_Layer_Security) 1.2 by default, which is the recommended TLS level by industry standards, such as [PCI DSS](https://wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard). To enforce different TLS versions, see [Configure general settings](configure-common.md#configure-general-settings).
114111

115-
When the operation is complete, your app rejects all connections with lower TLS versions.
112+
<a name="handle-tls-termination">
116113

117-
## Handle TLS termination
114+
#### How do I handle TLS termination in App Service?
118115

119116
In App Service, [TLS termination](https://wikipedia.org/wiki/TLS_termination_proxy) happens at the network load balancers, so all HTTPS requests reach your app as unencrypted HTTP requests. If your app logic needs to check if the user requests are encrypted or not, inspect the `X-Forwarded-Proto` header.
120117

0 commit comments

Comments
 (0)