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/container-apps/client-certificate-authorization.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,7 +30,7 @@ Anthony mentioned that the customer will be able to obtain a client certificate
30
30
31
31
## Configure client certificate authorization
32
32
33
-
The client certificate mode property available as you enable [ingress](./ingress.md) on your container app. The property can be set to one of the following values:
33
+
The client certificate mode property available as you enable [ingress](./ingress-how-to.md) on your container app. The property can be set to one of the following values:
34
34
35
35
-`require`: The client certificate is required for all requests to the container app.
36
36
-`accept`: The client certificate is optional. If the client certificate isn't provided, the request is still accepted.
@@ -83,4 +83,4 @@ To configure client certificate authorization in the Azure portal, follow these
# Tutorial: Communication between microservices in Azure Container Apps
14
14
15
-
Azure Container Apps exposes each container app through a domain name if [ingress](ingress.md) is enabled. Ingress endpoints for container apps within an external environment can be either publicly accessible or only available to other container apps in the same [environment](environment.md).
15
+
Azure Container Apps exposes each container app through a domain name if [ingress](ingress-how-to.md) is enabled. Ingress endpoints for container apps within an external environment can be either publicly accessible or only available to other container apps in the same [environment](environment.md).
16
16
17
17
Once you know the fully qualified domain name for a given container app, you can make direct calls to the service from other container apps within the shared environment.
Azure Container Apps exposes each container app through a domain name if [ingress](ingress.md) is enabled. Ingress endpoints can be exposed either publicly to the world or internally and only available to other container apps in the same [environment](environment.md).
15
+
Azure Container Apps exposes each container app through a domain name if [ingress](ingress-concept.md) is enabled. Ingress endpoints can be exposed either publicly to the world and to other container apps in the same environment, or ingress can be limited to only other container apps in the same [environment](environment.md).
16
16
17
-
Once you know a container app's domain name, then you can call the location within your application code to connect multiple container apps together.
17
+
You can call other container apps in the same environment from your application code using one of the following methods:
18
+
19
+
- default fully qualified domain name (FQDN)
20
+
- a custom domain name
21
+
- the container app name
22
+
- a Dapr URL
18
23
19
24
> [!NOTE]
20
-
> When you call another container in the same environment using the FQDN, the network traffic never leaves the environment.
25
+
> When you call another container in the same environment using the FQDN or app name, the network traffic never leaves the environment.
21
26
22
27
A sample solution showing how you can call between containers using both the FQDN Location or Dapr can be found on [Azure Samples](https://github.com/Azure-Samples/container-apps-connect-multiple-apps)
23
28
@@ -37,7 +42,7 @@ The following diagram shows how these values are used to compose a container app
37
42
38
43
## Dapr location
39
44
40
-
Developing microservices often requires you to implement patterns common to distributed architecture. Dapr allows you to secure microservices with mutual TLS, trigger retries when errors occur, and take advantage of distributed tracing when Azure Application Insights is enabled.
45
+
Developing microservices often requires you to implement patterns common to distributed architecture. Dapr allows you to secure microservices with mutual TLS (client certificates), trigger retries when errors occur, and take advantage of distributed tracing when Azure Application Insights is enabled.
41
46
42
47
A microservice that uses Dapr is available through the following URL pattern:
Copy file name to clipboardExpand all lines: articles/container-apps/ingress-overview.md
+12-14Lines changed: 12 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,11 +11,11 @@ ms.author: cshoe
11
11
12
12
# Ingress in Azure Container Apps
13
13
14
-
Azure Container Apps allows you to expose your container app to the public web, your virtual network (VNET), and other container apps within your environment by enabling ingress. Ingress settings are enforced through a set of rules that control the routing of external and internal traffic to your container app. When you enable ingress, you don't need to create an Azure Load Balancer, public IP address, or any other Azure resources to enable incoming HTTPS requests or TCP traffic.
14
+
Azure Container Apps allows you to expose your container app to the public web, your virtual network (VNET), and other container apps within your environment by enabling ingress. Ingress settings are enforced through a set of rules that control the routing of external and internal traffic to your container app. When you enable ingress, you don't need to create an Azure Load Balancer, public IP address, or any other Azure resources to enable incoming HTTP requests or TCP traffic.
15
15
16
16
Ingress supports:
17
17
18
-
-[Public and private ingress](#public-and-private-ingress)
18
+
-[External and internal ingress](#external-and-internal-ingress)
19
19
-[HTTP and TCP ingress types](#protocol-types)
20
20
-[Domain names](#domain-names)
21
21
-[IP restrictions](#ip-restrictions)
@@ -26,16 +26,14 @@ Ingress supports:
26
26
> [!NOTE]
27
27
> Add diagram here, Talked with Anthony about this. He thought that we should consult Ahmed. I think that we should have a diagram that shows the ingress options and how they work together.
28
28
29
-
For configuration details, see [Configure ingress](ingress.md).
29
+
For configuration details, see [Configure ingress](ingress-how-to.md).
30
30
31
-
## Public and private ingress
31
+
## External and internal ingress
32
32
33
33
When you enable ingress, you can choose between two types of ingress:
34
34
35
-
- Public: Allows external access from the public internet and from apps within the same environment.
36
-
- Private: Allows only internal access from with your container app's environment.
37
-
38
-
Ingress external to your environment uses a [fully qualified domain name](#domain-names) (FQDN) to route traffic to your container app. In addition to the FQDN, container apps can access another app in the same environment by using its name. The name of the container app is defined in `name` property in the container app's resource.
35
+
- External: Accepts traffic from both the public internet and your container app's internal environment.
36
+
- Internal: Allows only internal access from within your container app's environment.
39
37
40
38
Each container app within an environment can be configured with different ingress settings. For example, in a scenario with multiple microservice apps, to increase security you may have a single container app that receives public requests and passes the requests to a background service. In this scenario, you would configure the public-facing container app with external ingress and the internal-facing container app with internal ingress.
41
39
@@ -80,11 +78,11 @@ With TCP ingress enabled, your container app:
80
78
81
79
## Domain names
82
80
83
-
Each app in a Container Apps environment is automatically assigned a fully qualified domain name (FQDN) based on the environment's DNS suffix. To customize an environment's DNS suffix, see [Custom environment DNS Suffix](environment-custom-dns-suffix.md).
84
-
85
-
You can configure a custom DNS domain for your Container Apps environment. For more information, see [Custom domain names and certificates](./custom-domains-certificates.md).
81
+
You can access your app in the following ways:
86
82
87
-
VNET-scope ingress requires more DNS configuration. For more information, see [DNS configuration for VNET-scope ingress](./networking.md#dns).
83
+
- The default fully qualified domain name (FQDN). Each app in a Container Apps environment is automatically assigned an FQDN based on the environment's DNS suffix. To customize an environment's DNS suffix, see [Custom environment DNS Suffix](environment-custom-dns-suffix.md).
84
+
- A custom domain name: You can configure a custom DNS domain for your Container Apps environment. For more information, see [Custom domain names and certificates](./custom-domains-certificates.md).
85
+
- The app name: You can use the app name for communication between apps in the same environment.
88
86
89
87
## IP restrictions
90
88
@@ -105,9 +103,9 @@ Containers Apps allows you to split incoming traffic between active revisions.
105
103
106
104
## Session affinity
107
105
108
-
Session affinity, also known as sticky sessions, is a feature that allows you to route all HTTP requests from a client to the same replica. This feature is useful for stateful applications that require a consistent connection to the same replica. For more information, see [Session affinity](session-affinity.md).
106
+
Session affinity, also known as sticky sessions, is a feature that allows you to route all HTTP requests from a client to the same replica. This feature is useful for stateful applications that require a consistent connection to the same replica. For more information, see [Session affinity](sticky-sessions.md).
Copy file name to clipboardExpand all lines: articles/container-apps/networking.md
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@ As you create a custom VNET, keep in mind the following situations:
26
26
27
27
- If you want your container app to restrict all outside access, create an [internal Container Apps environment](vnet-custom-internal.md).
28
28
29
-
- When you provide your own VNET, you need to provide a subnet that is dedicated to the Container App Environment you'll deploy. This subnet can't be used by other services.
29
+
- When you provide your own VNET, you need to provide a subnet that is dedicated to the Container App environment you deploy. This subnet can't be used by other services.
30
30
31
31
- Network addresses are assigned from a subnet range you define as the environment is created.
Azure Container Apps uses [Envoy proxy](https://www.envoyproxy.io/) as an edge HTTP proxy. TLS is terminated on the edge and requests are routed based on their traffic split rules and routes traffic to the correct application.
53
+
Azure Container Apps uses [Envoy proxy](https://www.envoyproxy.io/) as an edge HTTP proxy. TLS is terminated on the edge and requests are routed based on their traffic splitting rules and routes traffic to the correct application.
54
54
55
55
HTTP applications scale based on the number of HTTP requests and connections. Envoy routes internal traffic inside clusters. Downstream connections support HTTP1.1 and HTTP2 and Envoy automatically detects and upgrades the connection should the client connection be upgraded. Upstream connection is defined by setting the `transport` property on the [ingress](azure-resource-manager-api-spec.md#propertiesconfiguration) object.
56
56
@@ -60,7 +60,9 @@ Under the [ingress](azure-resource-manager-api-spec.md#propertiesconfiguration)
60
60
61
61
-**Accessibility level**: You can set your container app as externally or internally accessible in the environment. An environment variable `CONTAINER_APP_ENV_DNS_SUFFIX` is used to automatically resolve the FQDN suffix for your environment.
62
62
63
-
-**Traffic split rules**: You can define traffic split rules between different revisions of your application.
63
+
-**Traffic split rules**: You can define traffic splitting rules between different revisions of your application. For more information, see [Traffic splitting](traffic-splitting.md).
64
+
65
+
For more information about ingress configuration, see [Ingress in Azure Container Apps](ingress-overview.md).
64
66
65
67
### Scenarios
66
68
@@ -70,7 +72,7 @@ For more information about scenarios, see [Ingress in Azure Container Apps](ingr
70
72
71
73
For every app in Azure Container Apps, there are two URLs.
72
74
73
-
The first URL is generated by Container Apps and is used to access your app. See the *Application Url* in the *Overview* window of your container app in the Azure portal for the fully qualified domain name (FQDN) of your container app.
75
+
Container Apps generates the first URL, which is used to access your app. See the *Application Url* in the *Overview* window of your container app in the Azure portal for the fully qualified domain name (FQDN) of your container app.
74
76
75
77
The second URL grants access to the log streaming service and the console. If necessary, you may need to add `https://azurecontainerapps.dev/` to the allowlist of your firewall or proxy.
76
78
@@ -119,7 +121,7 @@ There's no forced tunneling in Container Apps routes.
119
121
120
122
## DNS
121
123
122
-
-**Custom DNS**: If your VNET uses a custom DNS server instead of the default Azure-provided DNS server, configure your DNS server to forward unresolved DNS queries to `168.63.129.16`. [Azure recursive resolvers](../virtual-network/virtual-networks-name-resolution-for-vms-and-role-instances.md#name-resolution-that-uses-your-own-dns-server) uses this IP address to resolve requests. If you don't use the Azure recursive resolvers, the Container Apps environment won't function.
124
+
-**Custom DNS**: If your VNET uses a custom DNS server instead of the default Azure-provided DNS server, configure your DNS server to forward unresolved DNS queries to `168.63.129.16`. [Azure recursive resolvers](../virtual-network/virtual-networks-name-resolution-for-vms-and-role-instances.md#name-resolution-that-uses-your-own-dns-server) uses this IP address to resolve requests. If you don't use the Azure recursive resolvers, the Container Apps environment can't function.
123
125
124
126
-**VNET-scope ingress**: If you plan to use VNET-scope [ingress](ingress-overview.md) in an internal Container Apps environment, configure your domains in one of the following ways:
0 commit comments