Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
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é | Descriptif | Valeurs | Obligatoire |
|---|---|---|---|
allowInsecure |
Autorise le trafic non sécurisé vers votre application conteneur. Lorsque la valeur est définie true, les requêtes HTTP vers le port 80 ne sont pas automatiquement redirigées vers le port 443 à l’aide du protocole HTTPS, ce qui autorise les 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.
Ignore indique que le serveur supprime le certificat client lors du transfert.
Accept indique que le serveur transfère le certificat client, mais ne nécessite pas de certificat client.
Require indique que le serveur nécessite 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 application conteneur écoute pour les requêtes entrantes. | Définissez cette valeur sur le numéro de port qu’utilise votre application 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 (valeur par défaut) détecte HTTP/1 ou HTTP/2, http pour HTTP/1, http2 pour HTTP/2, tcp pour TCP. |
Non |
Détection automatique de port
Si l’entrée HTTP de votre application conteneur est activée et que vous ne définissez pas de port cible, Azure Container Apps détecte automatiquement le port cible en analysant tous les ports d’écoute sur votre conteneur. S’il n’y a qu’un seul port détecté, ce port est défini comme port cible pour votre application conteneur. S’il existe plusieurs ports détectés, l’application conteneur ne définit pas automatiquement le port cible et vous devez définir le port cible manuellement.
- La détection automatique de port fonctionne uniquement pour le trafic HTTP, pas pour le trafic TCP.
- Si vous avez des sondes d’intégrité HTTP à l’écoute sur les ports 80 ou 443, cette configuration peut interférer avec la détection automatique des ports. La configuration d’entrée par défaut utilise des sondes d’intégrité TCP. Pour plus d’informations, consultez les sondes de santé.
Activer l'entrée
Vous pouvez configurer l’entrée pour votre application conteneur à l’aide d’Azure CLI, d’un modèle ARM ou du portail Azure.
La az containerapp ingress enable commande active l’entrée 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 :
| Choix | Propriété | Descriptif | Valeurs | Obligatoire |
|---|---|---|---|---|
--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 l’entrée 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. Vous pouvez également 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 (l’entrée TCP n’est disponible que dans les environnements configurés avec un réseau virtuel).
- 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
1et65535. (ne peut pas être80ni443)
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.
- Définissez la
externalpropriété sur true pour l’entrée externe ou false pour l’entrée interne. - Définissez la valeur
transportsurautopour détecter HTTP/1 ou HTTP/2,httppour HTTP/1,http2pour HTTP/2 outcppour TCP. - Définissez la valeur
targetPortsur 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é
exposedPortsi le type de transport esttcpsur 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 entre1et65535. (ne peut pas être80ni443)
{
...
"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 l’entrée 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.
- Sélectionnez 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 plus d’informations, consultez l’article sur le concept d’entrée.
Remarque
Pour utiliser cette fonctionnalité, vous avez besoin 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.
Vous pouvez ajouter des ports TCP supplémentaires 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>
L’exemple suivant montre un fichier YAML que vous pouvez référencer dans la commande CLI précédente. La configuration des ports TCP supplémentaires est 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 que votre application utilise pour accepter le trafic dans le champ Target port. Si vous laissez le port Exposé vide, il utilise la même valeur que le port cible.
- Modifiez le champ Trafic d’entrée si nécessaire. Ce champ configure l’emplacement où le trafic d’entrée est limité à 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. Ajoutez chaque port supplémentaire dans la section additionalPortMappings sous ingress pour configuration dans properties pour l'application conteneur. L’exemple suivant montre comment ajouter des ports supplémentaires :
{
...
"properties": {
...
"configuration": {
"ingress": {
...
"additionalPortMappings": [
{
"external": false
"targetPort": 80
"exposedPort": 12000
}
]
}
}
...
}