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
@@ -433,16 +433,18 @@ Here, you can configure some common settings for the app. Some settings require
433
433

434
434
435
435
-**Platform settings**: Lets you configure settings for the hosting platform, including:
436
+
-**Platform bitness**: 32-bit or 64-bit. For Windows apps only.
436
437
-**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.
442
438
-**HTTP version**: Set to **2.0** to enable support for [HTTPS/2](https://wikipedia.org/wiki/HTTP/2) protocol.
443
439
> [!NOTE]
444
440
> 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.
445
445
-**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.
446
448
-**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.
447
449
-**Incoming client certificates**: require client certificates in [mutual authentication](app-service-web-configure-tls-mutual-auth.md).
Copy file name to clipboardExpand all lines: articles/app-service/configure-ssl-bindings.md
+18-21Lines changed: 18 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,8 +16,6 @@ This article shows you how to secure the [custom domain](app-service-web-tutoria
16
16
17
17
## Prerequisites
18
18
19
-
To follow this how-to guide:
20
-
21
19
-[Scale up your App Service app](manage-scale-up.md) to one of the supported pricing tiers: **Basic**, **Standard**, **Premium**.
22
20
-[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).
23
21
@@ -82,39 +80,38 @@ Your application code can inspect the protocol via the "x-appservice-proto" head
82
80
>
83
81
> If that's not the case, you may have left out intermediate certificates when you export your certificate to the PFX file.
84
82
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
+
<aname="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?
86
93
87
94
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:
88
95
89
96
1. Upload the new certificate.
90
97
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.
91
98
3. Delete the old certificate.
92
99
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**.
When the operation is complete, navigate to any of the HTTP URLs that point to your app. For example:
100
+
<aname="enforce-https" />
102
101
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?
106
103
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).
108
105
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
+
<aname="enforce-tls-versions">
110
107
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?
112
109
113
-

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).
114
111
115
-
When the operation is complete, your app rejects all connections with lower TLS versions.
112
+
<aname="handle-tls-termination">
116
113
117
-
##Handle TLS termination
114
+
#### How do I handle TLS termination in App Service?
118
115
119
116
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.
0 commit comments