Configurer l’entrée pour votre application dans Azure Container Apps
Cet article vous montre comment activer les fonctionnalités d’entrée pour votre application conteneur. Une entrée est un paramètre à l’échelle de l’application. Les modifications apportées aux paramètres d’entrée s’appliquent à toutes les révisions simultanément et ne génèrent pas de nouvelles révisions.
Paramètres d’entrée
Vous pouvez définir les propriétés de modèle d’entrée suivantes :
Propriété | Description | Valeurs | Requis |
---|---|---|---|
allowInsecure |
Autorise le trafic non sécurisé vers votre application conteneur. Lorsque défini sur true , les requêtes HTTP sur le port 80 ne sont pas automatiquement redirigées vers le port 443 avec HTTPS, ce qui laisse libre cours aux connexions non sécurisées. |
false (par défaut), true active les connexions non sécurisées |
Non |
clientCertificateMode |
Mode de certificat client pour l’authentification mTLS. « Ignorer » signifie que le serveur supprime le certificat client lors du transfert. « Accepter » signifie que le serveur transfère le certificat client, mais ne nécessite pas de certificat client. « Exiger » signifie que le serveur requiert un certificat client. | Required , Accept , Ignore (par défaut) |
Non |
customDomains |
Liaisons de domaine personnalisées pour les noms d’hôte de Container Apps. Voir Domaines personnalisés et certificats | Tableau de liaisons | Non |
exposedPort |
(Entrée TCP uniquement) Le port TCP écoute. Si external a la valeur true , la valeur doit être unique dans l’environnement Container Apps. |
Numéro de port compris entre 1 et 65535 . (ne peut pas être 80 ni 443 ) |
Non |
external |
Autorisez les entrées dans votre application en dehors de son environnement Container Apps. | true ou false (par défaut) |
Oui |
ipSecurityRestrictions |
Restrictions d’entrée IP. Voir Configurer des restrictions d’entrée IP | Tableau de règles | Non |
stickySessions.affinity |
Active l’affinité de session. | none (par défaut), sticky |
Non |
targetPort |
Port que votre conteneur écoute pour les demandes entrantes. | Définissez cette valeur sur le numéro de port qu’utilise votre conteneur. Pour les entrées HTTP, le point de terminaison d’entrée de votre application est toujours exposé sur le port 443 . |
Oui |
traffic |
Les pondérations de fractionnement du trafic sont réparties parmi les révisions. | Tableau de règles | Non |
transport |
Type de protocole de transport. | auto (par défaut) détecte HTTP/1 ou HTTP/2, http pour HTTP/1, http2 pour HTTP/2, tcp pour TCP. |
Non |
Activer l'entrée
Vous pouvez configurer les entrées pour votre application conteneur à l’aide d’Azure CLI, d’un modèle ARM ou du Portail Azure.
Cette commande az containerapp ingress enable
active les entrées pour votre application conteneur. Vous devez spécifier le port cible et vous pouvez éventuellement définir le port exposé si votre type de transport est tcp
.
az containerapp ingress enable \
--name <app-name> \
--resource-group <resource-group> \
--target-port <target-port> \
--exposed-port <tcp-exposed-port> \
--transport <transport> \
--type <external>
--allow-insecure
Arguments d’entrée az containerapp ingress enable
:
Option | Propriété | Description | Valeurs | Requis |
---|---|---|---|---|
--type |
external | Autorisez les entrées dans votre application n’importe où ou limitez les entrées à son environnement Container Apps interne. | external ou internal |
Oui |
--allow-insecure |
allowInsecure | Autorisez les connexions HTTP à votre application. | Non | |
--target-port |
targetPort | Port que votre conteneur écoute pour les demandes entrantes. | Définissez cette valeur sur le numéro de port qu’utilise votre conteneur. Le point de terminaison d’entrée de votre application est toujours exposé sur le port 443 . |
Oui |
--exposed-port |
exposedPort | (entrée TCP uniquement) Port pour les entrées TCP. Si external est défini sur true , la valeur doit être unique dans l’environnement Container Apps si les entrées est externe. |
Numéro de port compris entre 1 et 65535 . (ne peut pas être 80 ni 443 ) |
Non |
--transport |
transport | Type de protocole de transport. | auto (par défaut) détecte HTTP/1 ou HTTP/2, http pour HTTP/1, http2 pour HTTP/2, tcp pour TCP. |
Non |
Activez les entrées pour votre application conteneur à l’aide du portail.
Vous pouvez activer l’entrée lorsque vous créez votre application conteneur, mais vous pouvez aussi le faire pour une application conteneur existante.
- Pour configurer les entrées lorsque vous créez votre application conteneur, sélectionnez Entrée dans l’onglet Configuration de l’application de l’Assistant Création de l’application conteneur.
- Pour configurer les entrées pour une application conteneur existante, sélectionnez Entrée dans le menu Paramètres de la page de ressources de l’application conteneur.
Activer les entrées pour votre application conteneur :
Vous pouvez configurer les entrées lorsque vous créez votre application conteneur à l’aide du Portail Azure.
- Définissez Entrée sur Activée.
- Configurez les paramètres d’entrée pour votre application conteneur.
- Sélectionnez Limité à l’environnement Container Apps pour les entrées internes ou Accepter le trafic de n’importe où pour les entrées externes.
- Sélectionnez le Type d’entrée : HTTP ou TCP (les entrées TCP ne sont disponibles que dans les environnements configurés avec un réseau virtuel personnalisé).
- Si HTTP est sélectionné pour le Type d’entrée, sélectionnez le Transport : Auto, HTTP/1 ou HTTP/2.
- Sélectionnez Connexions non sécurisées si vous souhaitez autoriser les connexions HTTP à votre application.
- Entrez le Port cible de votre application conteneur.
- Si vous avez sélectionné TCP : pour l’option Transport, entrez le Port exposé pour votre application conteneur. Le numéro de port exposé peut être compris
1
et65535
. (ne peut pas être80
ni443
)
La page paramètres des Entrées de votre application conteneur vous permet également de configurer des Restrictions IP. Pour plus d’informations sur la configuration de restrictions IP, consultez Restrictions IP.
Activez les entrées pour votre application conteneur à l’aide de la propriété de configuration ingress
. Définissez la propriété external
sur true
, puis définissez vos propriétés transport
et targetPort
.La propriété
-external
peut être définie sur true pour les entrées externes ou false pour les entrées internes.
- Définissez la valeur
transport
surauto
pour détecter HTTP/1 ou HTTP/2,http
pour HTTP/1,http2
pour HTTP/2 outcp
pour TCP. - Définissez la valeur
targetPort
sur le numéro de port qu’utilise votre conteneur. Le point de terminaison d’entrée de votre application est toujours exposé sur le port443
. - Définissez la propriété
exposedPort
si le type de transport esttcp
sur un port pour les entrées TCP. Si les entrées est externe, la valeur doit être unique dans l’environnement Container Apps. Numéro de port compris entre1
et65535
. (ne peut pas être80
ni443
)
{
...
"configuration": {
"ingress": {
"external": true,
"transport": "tcp",
"targetPort": 80,
"exposedPort": 8080,
},
}
}
Désactiver les entrées
Désactivez les entrées pour votre application conteneur à l’aide de la commande az containerapp ingress
.
az containerapp ingress disable \
--name <app-name> \
--resource-group <resource-group> \
Vous pouvez désactiver les entrées de votre application conteneur à l’aide du portail.
- Sélectionnez Entrée dans le menu Paramètres de la page de l’application conteneur.
- Désélectionnez le paramètre EntréeActivée.
- Cliquez sur Enregistrer.
Désactivez les entrées pour votre application conteneur en omettant entièrement la propriété de configuration ingress
de properties.configuration
.
Utiliser d’autres ports TCP
Vous pouvez exposer des ports TCP supplémentaires à partir de votre application. Pour en savoir plus, consultez l’article sur le concept d’entrée.
Remarque
Pour utiliser cette fonctionnalité, vous devez disposer de l’extension CLI des applications conteneur. Exécutez az extension add -n containerapp
pour installer la dernière version de l’extension CLI des applications conteneur.
L’ajout d’autres ports TCP supplémentaires peut être effectué via l’interface CLI en référençant un fichier YAML avec vos configurations de port TCP.
az containerapp create \
--name <app-name> \
--resource-group <resource-group> \
--yaml <your-yaml-file>
Voici un exemple de fichier YAML que vous pouvez référencer dans la commande CLI ci-dessus. La configuration des ports TCP supplémentaires se trouve sous additionalPortMappings
.
location: northcentralus
name: multiport-example
properties:
configuration:
activeRevisionsMode: Single
ingress:
additionalPortMappings:
- exposedPort: 21025
external: false
targetPort: 1025
allowInsecure: false
external: true
targetPort: 1080
traffic:
- latestRevision: true
weight: 100
transport: http
managedEnvironmentId: <env id>
template:
containers:
- image: maildev/maildev
name: maildev
resources:
cpu: 0.25
memory: 0.5Gi
scale:
maxReplicas: 1
minReplicas: 1
workloadProfileName: Consumption
type: Microsoft.App/containerApps
- Développez la section Ports TCP supplémentaires dans le volet Entrée.
- Ajoutez des ports TCP supplémentaires sur lesquels votre application acceptera le trafic dans le champ Port cible. Si le Port exposé est laissé vide, il prendra la même valeur définie dans le Port cible.
- Modifiez le champ Trafic d’entrée si nécessaire. Cela permet de configurer l’emplacement où le trafic d’entrée sera limité pour chaque port.
- Lorsque vous avez terminé, cliquez sur Enregistrer.
Le modèle ARM suivant fournit un exemple de la façon dont vous pouvez ajouter des ports supplémentaires à vos applications conteneur. Chaque port supplémentaire doit être ajouté sous additionalPortMappings
au sein de la section ingress
pour configuration
à l’intérieur de properties
pour l’application conteneur. Par exemple :
{
...
"properties": {
...
"configuration": {
"ingress": {
...
"additionalPortMappings": [
{
"external": false
"targetPort": 80
"exposedPort": 12000
}
]
}
}
...
}