Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As configurações de rota HTTP dão suporte a domínios personalizados, permitindo rotear o tráfego de seus próprios nomes de domínio para seus aplicativos de contêiner.
Pré-requisitos
- Um ambiente existente dos Aplicativos de Contêiner do Azure
- Um domínio personalizado que você possui
- Certificado SSL para seu domínio (a menos que use certificados automáticos)
- Aplicativos de contêiner implantados em seu ambiente
Configuração de domínio personalizado
Usando o provedor DNS que hospeda seu domínio, crie os registros DNS apropriados para seu domínio personalizado.
Se você estiver usando o domínio raiz (por exemplo),
contoso.comcrie os seguintes registros DNS:Tipo de registro Anfitrião Valor A @O endereço IP do ambiente dos Aplicativos de Contêiner. TXT asuidO código de verificação do domínio. Se você estiver usando um subdomínio (por exemplo,
www.contoso.com), crie os seguintes registros DNS:Tipo de registro Anfitrião Valor A O subdomínio (por exemplo, www)O endereço IP do ambiente dos Aplicativos de Contêiner. TXT asuid.{subdomain}(por exemplo,asuid.www)O código de verificação do domínio.
Observação
O endereço IP do seu ambiente de Aplicativos de Contêiner e o código de verificação de domínio podem ser encontrados nas configurações de sufixo DNS personalizado do seu ambiente de Aplicativos de Contêiner.
Não associe o domínio personalizado ao seu ambiente de Aplicativos de Contêiner ou a um aplicativo de contêiner. Os domínios são associados apenas a um aplicativo, rota ou ambiente.
Configuração de rota
Atualize o arquivo YAML dos Aplicativos de Contêiner para incluir uma seção customDomains. Inclua um bindingType e certificateId, com base nos seguintes critérios:
| Valor de bindingType | Descrição |
|---|---|
| Desabilitado | Nenhum certificado é fornecido. O domínio só está disponível por HTTP e HTTPS não está disponível. |
| Carro | Um certificado é opcional. Se um certificado gerenciado já estiver criado para esse domínio, ele será adicionado à rota automaticamente. Caso contrário, o domínio estará inicialmente disponível apenas por HTTP. Para criar um certificado gerenciado para esse domínio, crie um novo certificado gerenciado após a criação da rota. Depois que o certificado é criado, ele é adicionado automaticamente à rota. |
| SniEnabled | Um certificado é necessário. |
| Tipo de certificado | Formato de certificateId |
|---|---|
| Nenhum | Deixar em branco |
| Gerenciado | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{ContainerAppEnvironmentName}/managedCertificates/{CertificateFriendlyName} |
| Não gerenciado | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{ContainerAppEnvironmentName}/certificates/{CertificateFriendlyName} |
Observação
Para adicionar um certificado ao seu ambiente, use um dos seguintes métodos:
- Para adicionar um certificado gerenciado dos Aplicativos de Contêiner, use o comando az containerapp env certificate create CLI.
- Para trazer seu próprio certificado existente, use o comando az containerapp env certificate upload CLI.
Não associe o certificado a um aplicativo de contêiner.
O exemplo a seguir demonstra como configurar a configuração de rota.
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>"
Essa configuração define duas regras de roteamento para tráfego HTTP.
| Propriedade | Descrição |
|---|---|
customDomains.name |
O nome de domínio que você deseja usar (exemplo: "app.contoso.com") |
customDomains.certificateId |
ID do recurso do seu certificado (não necessário com bindingType: "Auto") |
customDomains.bindingType |
Como o SSL é tratado: "SniEnabled" (Indicação de Nome do Servidor), "Desabilitado" (somente HTTP) ou "Automático" (certificado automático) |
description |
Rótulo legível por humanos para a regra |
routes.match.prefix |
Prefixo de caminho de URL para correspondência. Por exemplo, /api. |
routes.action.prefixRewrite |
Conteúdo que substituirá o prefixo correspondente antes do encaminhamento. |
targets.containerApp |
O nome do aplicativo de contêiner para onde a solicitação de rota correspondente é enviada. |
Essas regras permitem que caminhos diferentes em seu domínio personalizado roteiem para diferentes aplicativos de contêiner e, ao mesmo tempo, modifiquem o caminho da solicitação antes de chegar ao aplicativo de destino.
Outras propriedades não listadas que podem afetar suas rotas incluem o seguinte.
| Propriedade | Descrição |
|---|---|
route.match.path |
Definição do caminho de correspondência exata. |
route.match.pathSeparatedPrefix |
Corresponde a rotas em limites '/' em vez de qualquer texto. Por exemplo, se você definir o valor como /product, ele corresponderá /product/1, mas não /product1. |
route.match.caseSensitive |
Controla se os padrões de rota correspondem à diferenciação de maiúsculas e minúsculas. |
target.label |
Roteie-a para uma revisão rotulada específica em um aplicativo de contêiner. |
target.revision |
Redirecionar para uma revisão específica em um aplicativo de contêiner. |
Trabalhar com a configuração da rota
Use os comandos a seguir para gerenciar a configuração de rota.
Antes de executar os comandos a seguir, substitua os espaços reservados cercados por <> com seus próprios valores.
Criar uma nova configuração de rota
Use az containerapp env http-route-config create para criar uma nova configuração de rota.
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>
Listar configurações de rota
Use az containerapp env http-route-config list para listar todas as configurações de rota definidas.
az containerapp env http-route-config list \
--resource-group <RESOURCE_GROUP_NAME> \
--name <ENVIRONMENT_NAME>
Atualizar uma configuração de rota
Use az containerapp env http-route-config update para atualizar uma configuração de rota existente.
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>
Mostrar uma configuração de rota específica
Use az containerapp env http-route-config show para exibir detalhes de uma configuração de rota.
az containerapp env http-route-config show \
--resource-group <RESOURCE_GROUP_NAME> \
--name <ENVIRONMENT_NAME> \
--http-route-config-name <CONFIGURATION_NAME>
Excluir uma configuração de rota
Use az containerapp env http-route-config delete para remover uma configuração de rota.
az containerapp env http-route-config delete \
--resource-group <RESOURCE_GROUP_NAME> \
--name <ENVIRONMENT_NAME> \
--http-route-config-name <CONFIGURATION_NAME>
Verificar o roteamento HTTP
Depois de configurar seu domínio personalizado com roteamento baseado em regra:
Navegue até seu domínio personalizado em um navegador. Por exemplo,
https://app.contoso.com/1.Verifique se a solicitação é roteada para o primeiro aplicativo de contêiner.
Altere o caminho para
/2. Por exemplo,https://app.contoso.com/2.Verifique se a solicitação agora é roteada para o segundo aplicativo de contêiner.
Conteúdo relacionado
- Roteamento baseado em regras em Aplicativos de Contêiner do Azure
- Nomes de domínio personalizados e certificados gerenciados gratuitos
- Referência da CLI do Azure para configuração de rota HTTP
Dica
Está enfrentando problemas? Informe-nos no GitHub abrindo uma issue no repositório Aplicativos de Contêiner do Azure.