Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les configurations de routage HTTP prennent en charge les domaines personnalisés, ce qui vous permet d’acheminer le trafic de vos propres noms de domaine vers vos applications conteneur.
Conditions préalables
- Un environnement Azure Container Apps existant
- Un domaine personnalisé que vous possédez
- Certificat SSL pour votre domaine (sauf si vous utilisez des certificats automatiques)
- Applications conteneur déployées dans votre environnement
Configuration de domaine personnalisé
À l’aide du fournisseur DNS hébergeant votre domaine, créez les enregistrements DNS appropriés pour votre domaine personnalisé.
Si vous utilisez le domaine racine (par exemple,
contoso.com), créez les enregistrements DNS suivants :Type d’enregistrement Hébergeur Valeur Un @L’adresse IP de votre environnement Container Apps. TXT asuidLe code de vérification du domaine. Si vous utilisez un sous-domaine (par exemple,
www.contoso.com), créez les enregistrements DNS suivants :Type d’enregistrement Hébergeur Valeur Un Sous-domaine (par exemple, www)L’adresse IP de votre environnement Container Apps. TXT asuid.{subdomain}(par exemple,asuid.www)Le code de vérification du domaine.
Remarque
L’adresse IP de votre environnement Container Apps et le code de vérification du domaine se trouvent dans les paramètres de suffixe DNS personnalisés de votre environnement Container Apps.
Ne liez pas le domaine personnalisé à votre environnement Container Apps ou à une application conteneur. Les domaines ne sont liés qu’à une application, un itinéraire ou un environnement.
Configuration de la route
Mettez à jour votre fichier YAML Container Apps pour inclure une customDomains section. Incluez a bindingType et certificateId, en fonction des critères suivants :
| valeur bindingType | Descriptif |
|---|---|
| Handicapé | Aucun certificat n’est fourni. Le domaine est disponible uniquement via HTTP et HTTPS n’est pas disponible. |
| Voiture | Un certificat est facultatif. Si un certificat managé est déjà créé pour ce domaine, il est ajouté automatiquement à l’itinéraire. Sinon, le domaine est initialement disponible uniquement sur HTTP. Pour créer un certificat managé pour ce domaine, créez un certificat managé après la création de l’itinéraire. Une fois le certificat créé, il est automatiquement ajouté à l’itinéraire. |
| SniEnabled | Un certificat est obligatoire. |
| Type de certificat | format de certificateId |
|---|---|
| Aucun | Laisser vide |
| Adresses IP gérées | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{ContainerAppEnvironmentName}/managedCertificates/{CertificateFriendlyName} |
| Non géré | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{ContainerAppEnvironmentName}/certificates/{CertificateFriendlyName} |
Remarque
Pour ajouter un certificat à votre environnement, utilisez l’une des méthodes suivantes :
- Pour ajouter un certificat managé Container Apps, utilisez la commande az containerapp env certificate create CLI.
- Pour apporter votre propre certificat existant, utilisez la commande az containerapp env certificate upload CLI.
Ne liez pas le certificat à une application conteneur.
L’exemple suivant montre comment configurer la configuration de l’itinéraire.
customDomains:
- name: "<CUSTOM_DOMAIN_ENDPOINT>"
certificateId: "<CERTIFICATE_ID>"
bindingType: "SniEnabled" # Can also be "Disabled", "Auto"
rules:
- description: "Routing to App1"
routes:
- match:
prefix: "/1"
action:
prefixRewrite: "/"
targets:
- containerApp: "<APP1_CONTAINER_APP_NAME>"
- description: "Routing to App2"
routes:
- match:
prefix: "/2"
action:
prefixRewrite: "/"
- match:
prefix: "/"
targets:
- containerApp: "<APP2_CONTAINER_APP_NAME>"
Cette configuration définit deux règles de routage pour le trafic HTTP.
| Propriété | Descriptif |
|---|---|
customDomains.name |
Nom de domaine que vous souhaitez utiliser (exemple : « app.contoso.com ») |
customDomains.certificateId |
ID de ressource de votre certificat (non nécessaire avec bindingType: "Auto") |
customDomains.bindingType |
Gestion du protocole SSL : « SniEnabled » (Indication du nom du serveur), « Désactivé » (HTTP uniquement) ou « Auto » (certificat automatique) |
description |
Étiquette lisible par l’homme pour la règle |
routes.match.prefix |
Préfixe de chemin d’URL à mettre en correspondance. Par exemple : /api. |
routes.action.prefixRewrite |
Par quoi remplacer le préfixe correspondant avant le transfert. |
targets.containerApp |
Nom de l’application conteneur dans laquelle la demande de routage correspondante est envoyée. |
Ces règles permettent à différents chemins d’accès sur votre domaine personnalisé d’acheminer vers différentes applications conteneur tout en modifiant le chemin de la requête avant qu’il n’atteigne l’application de destination.
Les autres propriétés non répertoriées qui peuvent affecter vos itinéraires incluent les éléments suivants.
| Propriété | Descriptif |
|---|---|
route.match.path |
Définition du chemin d’accès pour correspondance exacte. |
route.match.pathSeparatedPrefix |
Correspond aux itinéraires sur les limites « / » plutôt que sur n’importe quel texte. Par exemple, si vous définissez la valeur sur /product, elle correspondra à /product/1, mais pas à /product1. |
route.match.caseSensitive |
Contrôle si les modèles de routage correspondent ou non à la sensibilité de la casse. |
target.label |
Route vers une révision étiquetée spécifique dans une application conteneur. |
target.revision |
Acheminer vers une révision spécifique au sein d’une application conteneur. |
Travailler avec votre configuration de routage
Utilisez les commandes suivantes pour gérer votre configuration de routage.
Avant d’exécuter les commandes suivantes, veillez à remplacer les espaces réservés entourés de <> avec vos propres valeurs.
Créer une nouvelle configuration de routage
Utilisez az containerapp env http-route-config create pour créer une nouvelle configuration de routage.
az containerapp env http-route-config create \
--resource-group <RESOURCE_GROUP_NAME> \
--name <ENVIRONMENT_NAME> \
--http-route-config-name <CONFIGURATION_NAME> \
--yaml <CONTAINER_APPS_CONFIG_FILE>
Répertorier les configurations de routage
Permet az containerapp env http-route-config list de répertorier toutes les configurations de routage définies.
az containerapp env http-route-config list \
--resource-group <RESOURCE_GROUP_NAME> \
--name <ENVIRONMENT_NAME>
Mettre à jour une configuration de routage
Permet az containerapp env http-route-config update de mettre à jour une configuration de routage existante.
az containerapp env http-route-config update \
--resource-group <RESOURCE_GROUP_NAME> \
--name <ENVIRONMENT_NAME> \
--http-route-config-name <CONFIGURATION_NAME> \
--yaml <CONTAINER_APPS_CONFIG_FILE>
Afficher une configuration d’itinéraire spécifique
Permet az containerapp env http-route-config show d’afficher les détails d’une configuration de routage.
az containerapp env http-route-config show \
--resource-group <RESOURCE_GROUP_NAME> \
--name <ENVIRONMENT_NAME> \
--http-route-config-name <CONFIGURATION_NAME>
Supprimer une configuration de routage
Permet az containerapp env http-route-config delete de supprimer une configuration de routage.
az containerapp env http-route-config delete \
--resource-group <RESOURCE_GROUP_NAME> \
--name <ENVIRONMENT_NAME> \
--http-route-config-name <CONFIGURATION_NAME>
Vérifier le routage HTTP
Après avoir configuré votre domaine personnalisé avec le routage basé sur des règles :
Accédez à votre domaine personnalisé dans un navigateur. Par exemple :
https://app.contoso.com/1.Vérifiez que la requête est acheminée vers la première application conteneur.
Modifiez le chemin d’accès en
/2. Par exemple :https://app.contoso.com/2.Vérifiez que la requête est maintenant routée vers la deuxième application conteneur.
Contenu connexe
- Routage basé sur des règles dans Azure Container Apps
- Noms de domaine personnalisés et certificats managés gratuits
- Informations de référence sur Azure CLI pour la configuration de l’itinéraire HTTP
Conseil / Astuce
Vous rencontrez des problèmes ? Faites-le nous savoir sur GitHub en ouvrant un problème dans le dépôt Azure Container Apps.