Skip to content

Commit 6d83f3f

Browse files
authored
Merge pull request #185415 from Descatles/wenhao/tls
Update e2e tls to i2a tls
2 parents 68e74ce + 1a7cadb commit 6d83f3f

File tree

7 files changed

+99
-69
lines changed

7 files changed

+99
-69
lines changed

articles/spring-cloud/.openpublishing.redirection.spring-cloud.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@
1515
"redirect_url": "/azure/spring-cloud/expose-apps-gateway",
1616
"redirect_document_id": false
1717
},
18+
{
19+
"source_path": "how-to-enable-end-to-end-tls.md",
20+
"redirect_url": "/azure/spring-cloud/how-to-enable-ingress-to-app-tls",
21+
"redirect_document_id": false
22+
},
1823
{
1924
"source_path": "tutorial-dump-jvm-options.md",
2025
"redirect_url": "/azure/spring-cloud/how-to-dump-jvm-options",

articles/spring-cloud/how-to-enable-end-to-end-tls.md

Lines changed: 0 additions & 65 deletions
This file was deleted.
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
---
2+
title: Enable ingress-to-app Transport Layer Security in Azure Spring Cloud
3+
titleSuffix: Azure Spring Cloud
4+
description: How to enable ingress-to-app Transport Layer Security for an application.
5+
author: karlerickson
6+
ms.author: wenhaozhang
7+
ms.service: spring-cloud
8+
ms.topic: how-to
9+
ms.date: 04/12/2022
10+
ms.custom: devx-track-java
11+
---
12+
# Enable ingress-to-app TLS for an application
13+
14+
**This article applies to:** ✔️ Standard tier ✔️ Enterprise tier
15+
16+
> [!NOTE]
17+
> This feature is not available in Basic tier.
18+
19+
This article describes secure communications in Azure Spring Cloud. The article also explains how to enable ingress-to-app SSL/TLS to secure traffic from an ingress controller to applications that support HTTPS.
20+
21+
The following picture shows the overall secure communication support in Azure Spring Cloud.
22+
23+
:::image type="content" source="media/enable-end-to-end-tls/secured-tls.png" alt-text="Screenshot of secured T L S flow in Azure Spring Cloud.":::
24+
25+
## Secure communication model within Azure Spring Cloud
26+
27+
This section explains the secure communication model shown in the overview diagram above.
28+
29+
1. The client request from the client to the application in Azure Spring Cloud comes into the ingress controller. The request can be either HTTP or HTTPS. The TLS certificate returned by the ingress controller is issued by the Microsoft Azure TLS issuing CA.
30+
31+
If the app has been mapped to an existing custom domain and is configured as HTTPS only, the request to the ingress controller can only be HTTPS. The TLS certificate returned by the ingress controller is the SSL binding certificate for that custom domain. The server side SSL/TLS verification for the custom domain is done in the ingress controller.
32+
33+
2. The secure communication between the ingress controller and the applications in Azure Spring Cloud are controlled by the ingress-to-app TLS. You can also control the communication through the portal or CLI, which will be explained later in this article. If ingress-to-app TLS is disabled, the communication between the ingress controller and the apps in Azure Spring Cloud is HTTP. If ingress-to-app TLS is enabled, the communication will be HTTPS and has no relation to the communication between the clients and the ingress controller. The ingress controller won't verify the certificate returned from the apps because the ingress-to-app TLS encrypts the communication.
34+
35+
3. Communication between the apps and the Azure Spring Cloud services is always HTTPS and handled by Azure Spring Cloud. Such services include config server, service registry, and Eureka server.
36+
37+
4. You manage the communication between the applications. You can also take advantage of Azure Spring Cloud features to load certificates into the application's trust store. For more information, see [Use TLS/SSL certificates in an application](./how-to-use-tls-certificate.md).
38+
39+
5. You manage the communication between applications and external services. To reduce your development effort, Azure Spring Cloud helps you manage your public certificates and loads them into your application's trust store. For more information, see [Use TLS/SSL certificates in an application](./how-to-use-tls-certificate.md).
40+
41+
## Enable ingress-to-app TLS for an application
42+
43+
The following section shows you how to enable ingress-to-app SSL/TLS to secure traffic from an ingress controller to applications that support HTTPS.
44+
45+
### Prerequisites
46+
47+
- A deployed Azure Spring Cloud instance. Follow our [quickstart on deploying via the Azure CLI](./quickstart.md) to get started.
48+
- If you're unfamiliar with ingress-to-app TLS, see the [end-to-end TLS sample](https://github.com/Azure-Samples/spring-boot-secure-communications-using-end-to-end-tls-ssl).
49+
- To securely load the required certificates into Spring Boot apps, you can use [keyvault spring boot starter](https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/spring/azure-spring-boot-starter-keyvault-certificates).
50+
51+
### Enable ingress-to-app TLS on an existing app
52+
53+
Use the command `az spring-cloud app update --enable-ingress-to-app-tls` to enable or disable ingress-to-app TLS for an app.
54+
55+
```azurecli
56+
az spring-cloud app update --enable-ingress-to-app-tls -n app_name -s service_name -g resource_group_name
57+
az spring-cloud app update --enable-ingress-to-app-tls false -n app_name -s service_name -g resource_group_name
58+
```
59+
60+
### Enable ingress-to-app TLS when you bind a custom domain
61+
62+
Use the command `az spring-cloud app custom-domain update --enable-ingress-to-app-tls` or `az spring-cloud app custom-domain bind --enable-ingress-to-app-tls` to enable or disable ingress-to-app TLS for an app.
63+
64+
```azurecli
65+
az spring-cloud app custom-domain update --enable-ingress-to-app-tls -n app_name -s service_name -g resource_group_name
66+
az spring-cloud app custom-domain bind --enable-ingress-to-app-tls -n app_name -s service_name -g resource_group_name
67+
```
68+
69+
### Enable ingress-to-app TLS using the Azure portal
70+
71+
To enable ingress-to-app TLS in the [Azure portal](https://portal.azure.com/), first create an app, and then enable the feature.
72+
73+
1. Create an app in the portal as you normally would. Navigate to it in the portal.
74+
2. Scroll down to the **Settings** group in the left navigation pane.
75+
3. Select **Ingress-to-app TLS**.
76+
4. Switch **Ingress-to-app TLS** to *Yes*.
77+
78+
![Screenshot showing where to enable Ingress-to-app TLS in portal.](./media/enable-end-to-end-tls/enable-i2a-tls.png)
79+
80+
### Verify ingress-to-app TLS status
81+
82+
Use the command `az spring-cloud app show` to check the value of `enableEndToEndTls`.
83+
84+
```azurecli
85+
az spring-cloud app show -n app_name -s service_name -g resource_group_name
86+
```
87+
88+
## Next steps
89+
90+
* [Access Config Server and Service Registry](how-to-access-data-plane-azure-ad-rbac.md)

articles/spring-cloud/how-to-use-tls-certificate.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,5 +94,5 @@ Load certificate from specific path. alias = <certificate alias>, thumbprint = <
9494

9595
## Next steps
9696

97-
* [Enable end-to-end Transport Layer Security](./how-to-enable-end-to-end-tls.md)
97+
* [Enable ingress-to-app Transport Layer Security](./how-to-enable-ingress-to-app-tls.md)
9898
* [Access Config Server and Service Registry](./how-to-access-data-plane-azure-ad-rbac.md)

articles/spring-cloud/index.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ landingContent:
113113
- linkListType: how-to-guide
114114
links:
115115
- text: Secure communications
116-
url: how-to-enable-end-to-end-tls.md
116+
url: how-to-enable-ingress-to-app-tls.md
117117
- text: Use roles and permissions for access
118118
url: how-to-permissions.md
119119

24.5 KB
Loading

articles/spring-cloud/toc.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,8 +210,8 @@ items:
210210
href: how-to-permissions.md
211211
- name: Use TLS/SSL certificates
212212
href: how-to-use-tls-certificate.md
213-
- name: Enable end-to-end Transport Layer Security
214-
href: how-to-enable-end-to-end-tls.md
213+
- name: Enable ingress-to-app Transport Layer Security
214+
href: how-to-enable-ingress-to-app-tls.md
215215
- name: Access Config Server and Service Registry
216216
href: how-to-access-data-plane-azure-ad-rbac.md
217217
- name: Automate

0 commit comments

Comments
 (0)