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
# Configure TLS mutual authentication in Azure App Service
13
13
14
-
You can restrict access to your Azure App Service app by enabling different types of authentication for it. One way to set up authentication is to request a client certificate when the client request is over TLS/SSL and to validate the certificate. This mechanism is called Transport Layer Security (TLS) mutual authentication or client certificate authentication. This article shows how to set up your app to use client certificate authentication.
14
+
You can restrict access to your Azure App Service app by enabling different types of authentication for the app. One way to set up authentication is to request a client certificate when the client request is sent by using Transport Layer Security (TLS)/Secure Sockets Layer (SSL) and to validate the certificate. This mechanism is called *mutual authentication* or *client certificate authentication*. This article shows you how to set up your app to use client certificate authentication.
15
15
16
16
> [!NOTE]
17
-
> Your app code is responsible for validating the client certificate. App Service doesn't do anything with this client certificate other than forwarding it to your app.
17
+
> Your app code is responsible for validating the client certificate. App Service doesn't do anything with this client certificate other than forward it to your app.
18
18
>
19
19
> If you access your site over HTTP and not HTTPS, you don't receive any client certificates. If your application requires client certificates, you shouldn't allow requests to your application over HTTP.
20
20
@@ -102,7 +102,7 @@ When you enable mutual auth for your application, all paths under the root of yo
102
102
> [!NOTE]
103
103
> Using any client certificate exclusion path triggers TLS renegotiation for incoming requests to the app.
104
104
105
-
1. On the left menu of your app's management pane, select **Configuration** > **General Settings**.
105
+
1. On the left menu of your app management page, select **Configuration** > **General Settings**.
106
106
107
107
1. Next to **Certificate exclusion paths**, select the edit icon.
108
108
@@ -112,7 +112,7 @@ When you enable mutual auth for your application, all paths under the root of yo
112
112
113
113
In the following screenshot, any path for your app that starts with `/public` doesn't request a client certificate. Path matching isn't case specific.
114
114
115
-
![Certificate Exclusion Paths][exclusion-paths]
115
+
:::image type="content" source="media/app-service-web-configure-tls-mutual-auth/exclusion-paths.png" alt-text="Screenshot that shows setting a certificate exclusion path.":::
116
116
117
117
## Client certificate and TLS renegotiation
118
118
@@ -126,7 +126,7 @@ For some client certificate settings, App Service requires TLS renegotiation to
126
126
127
127
To disable TLS renegotiation and to have the app negotiate client certificates during TLS handshake, you must configure your app with *all* these settings:
128
128
129
-
1. Set client certificate mode to "Required" or "Optional."
129
+
1. Set the client certificate mode to **Required** or **Optional**.
130
130
1. Remove all client certificate exclusion paths.
131
131
132
132
### Upload large files with TLS renegotiation
@@ -136,7 +136,7 @@ Client certificate configurations that use TLS renegotiation can't support incom
136
136
To address the 100-KB limit, consider these alternative solutions:
137
137
138
138
1. Disable TLS renegotiation. Update your app's client certificate configurations with *all* these settings:
139
-
- Set the client certificate mode to either "Required" or "Optional."
139
+
- Set the client certificate mode to **Required** or **Optional**.
140
140
- Remove all client certificate exclusion paths.
141
141
1. Send a HEAD request before the PUT/POST request. The HEAD request handles the client certificate.
142
142
1. Add the header `Expect: 100-Continue` to your request. This causes the client to wait until the server responds with a `100 Continue` before sending the request body, which bypasses the buffers.
0 commit comments