Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As configurações de rota HTTP suportam domínios personalizados, permitindo que você roteie o tráfego de seus próprios nomes de domínio para seus aplicativos de contêiner.
Pré-requisitos
- Um ambiente existente de Aplicativos de Contêiner do Azure
- Um domínio personalizado que você possui
- Certificado SSL para o seu domínio (a menos que use certificados automáticos)
- Aplicativos de contêiner implantados em seu ambiente
Configuração de domínio personalizada
Usando o provedor de 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.com), crie os seguintes registros DNS:Tipo de registo Anfitrião Valor Um @O endereço IP do seu ambiente de Aplicativos de Contêiner. TXT asuidO código de verificação de domínio. Se você estiver usando um subdomínio (por exemplo,
www.contoso.com), crie os seguintes registros DNS:Tipo de registo Anfitrião Valor Um O subdomínio (por exemplo, www)O endereço IP do seu ambiente de Aplicativos de Contêiner. TXT asuid.{subdomain}(por exemplo,asuid.www)O código de verificação de 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 vincule o domínio personalizado ao seu ambiente de Aplicativos de Contêiner ou a um aplicativo de contêiner. Os domínios estão vinculados apenas a um aplicativo, rota ou ambiente.
Configuração de rota
Atualize seu arquivo YAML de aplicativos de contêiner para incluir uma customDomains seção. Incluir um bindingType e um certificateId, com base nos seguintes critérios:
| valor 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á tiver sido criado para este 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 este domínio, crie um novo certificado gerenciado depois que a rota for criada. Depois que o certificado é criado, ele é adicionado automaticamente à rota. |
| SniEnabled | É necessário um certificado. |
| Tipo de certificado | formato ID de certificado |
|---|---|
| Nenhum | Deixar em branco |
| Gerenciado | /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{ContainerAppEnvironmentName}/managedCertificates/{CertificateFriendlyName} |
| Não gerido | /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 de 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 vincule o certificado a um aplicativo de contêiner.
O exemplo a seguir demonstra como configurar a 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 o tráfego HTTP.
| Propriedade | Descrição |
|---|---|
customDomains.name |
O nome de domínio que pretende utilizar (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), "Desativado" (somente HTTP) ou "Auto" (certificado automático) |
description |
Rótulo legível por humanos para a regra |
routes.match.prefix |
Prefixo do caminho de URL a ser correspondido. Por exemplo, /api. |
routes.action.prefixRewrite |
O que substituir o prefixo correspondente antes de encaminhar. |
targets.containerApp |
O nome do aplicativo de contêiner para o qual 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 que ela chegue 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 exata do caminho de correspondência. |
route.match.pathSeparatedPrefix |
Corresponde a rotas nos limites '/' em vez de qualquer texto. Por exemplo, se você definir o valor como /product, ele corresponderá em /product/1, mas não /product1em . |
route.match.caseSensitive |
Controla se os padrões de rota correspondem ou não à diferenciação de maiúsculas e minúsculas. |
target.label |
Encaminhar para uma revisão rotulada específica dentro de um aplicativo de contêiner. |
target.revision |
Encaminhar para uma revisão específica dentro de um aplicativo de contêiner. |
Trabalhe com a configuração da sua rota
Use os comandos a seguir para gerenciar sua configuração de rota.
Antes de executar os comandos a seguir, certifique-se de substituir os espaços reservados envolvidos 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 regras:
Navegue até seu domínio personalizado em um navegador. Por exemplo,
https://app.contoso.com/1.Verifique se a solicitação foi 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 está 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
Sugestão
Tem problemas? Informe-nos no GitHub abrindo um problema no repositório de Aplicativos de Contêiner do Azure.