Mapear um domínio personalizado existente para os Aplicativos Spring do Azure
Observação
Os planos Básico, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de desativação de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira o anúncio de desativação dos Aplicativos Spring do Azure.
O plano Standard de consumo e dedicado será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira Migrar o plano Standard de consumo e dedicado dos Aplicativos Spring do Azure para os Aplicativos de Contêiner do Azure.
Este artigo aplica-se a: ✔️ Java ✔️ C#
Este artigo se aplica aos níveis: ✔️ Standard ✔️ Enterprise
O DNS (Serviço de Nomes de Domínio) é uma técnica para armazenar nomes de nó de rede em uma rede. Este artigo mapeia um domínio, como www.contoso.com
, usando um registro CNAME. Ele protege o domínio personalizado com um certificado e mostra como impor o protocolo TLS, também conhecido como protocolo SSL.
Os certificados criptografam o tráfego da Web. Esses certificados TLS/SSL podem ser armazenados no Azure Key Vault.
Pré-requisitos
- Uma assinatura do Azure. Caso não tenha uma assinatura, crie uma conta gratuita antes de começar.
- (Opcional) CLI do Azure, versão 2.45.0 ou superior. Use o seguinte comando para instalar a extensão do Aplicativos Spring do Azure:
az extension add --name spring
- Um aplicativo implantado no Azure Spring Apps (confira Guia de início rápido: Iniciar um aplicativo existente no Azure Spring Apps usando o portal do Azure ou use um aplicativo existente). Se o aplicativo for implantado usando o plano Básico, atualize para o plano Standard.
- Um nome de domínio com acesso ao Registro DNS para um provedor de domínio, como o GoDaddy.
- Um certificado privado (ou seja, seu certificado autoassinado) de um provedor de terceiros. O certificado precisa corresponder ao domínio.
- Uma instância implantada do Azure Key Vault. Para saber mais, confira Sobre o Azure Key Vault.
Considerações sobre o Link privado do Key Vault
Os endereços IP de gerenciamento do Aplicativos Spring do Azure ainda não fazem parte dos serviços confiáveis da Microsoft para Azure. Portanto, para permitir que o Aplicativos Spring do Azure carregue certificados de um Key Vault protegido com as conexões de ponto de extremidade privado, você precisa adicionar os seguintes endereços IP ao firewall do Azure Key Vault:
20.99.204.111
20.201.9.97
20.74.97.5
52.235.25.35
20.194.10.0
20.59.204.46
104.214.186.86
52.153.221.222
52.160.137.39
20.39.142.56
20.199.190.222
20.79.64.6
20.211.128.96
52.149.104.144
20.197.121.209
40.119.175.77
20.108.108.22
102.133.143.38
52.226.244.150
20.84.171.169
20.93.48.108
20.75.4.46
20.78.29.213
20.106.86.34
20.193.151.132
Importar certificado
Preparar seu arquivo de certificado em PFX (opcional)
O Azure Key Vault dá suporte à importação do certificado privado nos formatos PEM e PFX. Se o arquivo PEM obtido do seu provedor de certificados não funcionar na seção Salve o certificado no Key Vault, siga as etapas aqui para gerar um PFX para o Azure Key Vault.
Mesclar certificados intermediários
Se a autoridade de certificação fornecer vários certificados na cadeia de certificados, você precisará mesclar os certificados na ordem.
Para concluir essa tarefa, abra cada certificado recebido em um editor de texto.
Crie um arquivo para o certificado mesclado, chamado mergedcertificate.crt. Em um editor de texto, copie o conteúdo de cada certificado para esse arquivo. A ordem de seus certificados deve seguir a ordem na cadeia de certificados, começando com o seu certificado e terminando com o certificado raiz. Ela se parece com o seguinte exemplo:
-----BEGIN CERTIFICATE-----
<your entire Base64 encoded SSL certificate>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The entire Base64 encoded intermediate certificate 1>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The entire Base64 encoded intermediate certificate 2>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<The entire Base64 encoded root certificate>
-----END CERTIFICATE-----
Exportar o certificado para PFX
Exporte o certificado TLS/SSL mesclado com a chave privada com a qual a solicitação de certificado foi gerada.
Se você gerou a solicitação de certificado usando o OpenSSL, isso significa que você criou um arquivo de chave privada. Para exportar o certificado para PFX, execute o comando a seguir. Substitua os espaços reservados <arquivo-de-chave-privada> e <arquivo-de-certificado-mesclado> pelos caminhos da chave privada e do arquivo de certificado mesclado.
openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>
Quando solicitado, defina uma senha de exportação. Use essa senha ao carregar seu certificado TLS/SSL para o Azure Key Vault posteriormente.
Se você usou o IIS ou o Certreq.exe para gerar a solicitação de certificado, instale o certificado no computador local e, em seguida, exporte o certificado para PFX.
Salvar o certificado no Key Vault
O procedimento para importar um certificado requer que o arquivo codificado como PEM ou PFX esteja no disco e que você tenha a chave privada.
Use as seguintes etapas para carregar seu certificado no cofre de chaves:
Vá para a instância do cofre de chaves.
No painel de navegação, selecione Certificados.
No menu superior, selecione Gerar/importar.
Na página Criar um certificado, selecione Importar paraMétodo de Criação de Certificado e forneça um valor para o Nome do Certificado.
Em Carregar o Arquivo de Certificado, navegue até a localização do certificado e selecione-o.
Em Senha, se você estiver carregando um arquivo de certificado protegido por senha, forneça essa senha aqui. Caso contrário, deixe em branco. Depois que o arquivo de certificado for importado com êxito, o cofre de chaves remove essa senha.
Selecione Criar.
Conceder ao Azure Spring Apps acesso ao seu cofre de chaves
Conceda aos Aplicativos Spring do Azure acesso ao seu cofre de chaves para importar o certificado.
Use as seguintes etapas para conceder acesso usando o portal do Azure:
Vá para a instância do cofre de chaves.
No painel de navegação, selecione Políticas de acesso.
No menu superior, selecione Criar.
Preencha as informações e clique no botão Adicionar e, depois, em Criar política de acesso.
Permissão de segredo Permissão de certificado Selecionar entidade de segurança Obter, listar Obter, listar Gerenciamento de domínios do Azure Spring Apps Observação
Se você não encontrar o "Gerenciamento de Domínio dos Aplicativos Spring do Azure", pesquise "Gerenciamento de Domínio dos Aplicativos Spring Cloud do Azure".
Importar o certificado para o Azure Spring Apps
Use as seguintes etapas para importar um certificado:
Acesse sua instância dos Aplicativos Spring do Azure.
No painel de navegação, selecione Configurações de TLS/SSL.
Selecione Importar certificado do cofre de chaves.
Na página Selecionar certificado do Azure, selecione a Assinatura, Key Vault e Certificado nas opções do menu suspenso e escolha Selecionar.
Na página Definir o nome do certificado aberta, insira o nome do certificado, selecione Habilitar sincronização automática, se necessário, e selecione Aplicar. Para obter mais informações, consulte a seção Sincronização automática de certificado.
Depois de importar o certificado com êxito, ele é exibido na lista de Certificados de Chave Privada.
Importante
Para proteger um domínio personalizado com esse certificado, certifique-se de associar o certificado a um domínio específico. Para obter mais informações, consulte a seção Adicionar associação SSL.
Sincronização automática de certificado
Um certificado armazenado no Azure Key Vault às vezes é renovado antes de expirar. Da mesma forma, as políticas de segurança da sua organização para o gerenciamento de certificados podem exigir que sua equipe de DevOps substitua certificados por novos regularmente. Depois de habilitar a sincronização automática para um certificado, os Aplicativos Spring do Azure começam a sincronizar seu cofre de chaves para uma nova versão regularmente, em geral, a cada 24 horas. Se uma nova versão estiver disponível, os Aplicativos Spring do Azure a importarão e recarregarão para vários componentes usando o certificado sem causar nenhum tempo de inatividade. A lista a seguir mostra os componentes afetados e os cenários relevantes:
- Aplicativo
- Domínio personalizado
- Gateway do Spring Cloud do VMware
- Domínio personalizado
- Portal de API para VMware Tanzu
- Domínio personalizado
- Acelerador de Aplicativo do VMware Tanzu
- Conectar-se a um repositório Git com um certificado autoassinado.
- Serviço de Configuração do Aplicativo para Tanzu
- Conectar-se a um repositório Git com um certificado autoassinado.
Quando os Aplicativos Spring do Azure importam ou recarregam um certificado, um log de atividades é gerado. Para ver os logs de atividades, navegue até a instância dos Aplicativos Spring do Azure no portal do Azure e selecione Log de atividades no painel de navegação.
Observação
O recurso de sincronização automática de certificado funciona com certificados privados e públicos importados do Azure Key Vault. Esse recurso não está disponível para certificados de conteúdo, carregados pelo cliente.
Você pode habilitar ou desabilitar o recurso de sincronização automática de certificado ao importar um certificado do cofre de chaves para os Aplicativos Spring do Azure. Para obter mais informações, confira a seção Importar um certificado para os Aplicativos Spring do Azure.
Você também pode habilitar ou desabilitar esse recurso para um certificado que já foi importado para os Aplicativos Spring do Azure.
Use as seguintes etapas para habilitar ou desabilitar a sincronização automática para um certificado importado:
Adicionar domínio personalizado
Você pode usar um registro CNAME para mapear um nome DNS personalizado para o Azure Spring Apps.
Observação
Não há suporte para o registro A.
Criar um registro CNAME
Acesse seu provedor DNS e adicione um registro CNAME para mapear seu domínio para <service-name>.azuremicroservices.io
. Aqui, <service-name>
é o nome da sua instância dos Aplicativos Spring do Azure. Damos suporte a domínio e subdomínio de caractere curinga.
Depois de adicionar o CNAME, a página de registros DNS fica parecida com o seguinte exemplo:
Mapear o domínio personalizado para o aplicativo do Azure Spring Apps
Se você não tiver um aplicativo nos Aplicativos Spring do Azure, siga as instruções em Início Rápido: Implantar seu primeiro aplicativo nos Aplicativos Spring do Azure.
Use as seguintes etapas para associar um domínio personalizado ao aplicativo:
Vá para a página do aplicativo.
Selecione Domínio Personalizado.
Selecione Adicionar domínio personalizado.
Digite o nome de domínio totalmente qualificado para o qual você adicionou um registro CNAME, como
www.contoso.com
. Certifique-se de que o tipo de registro de nome do host esteja definido como CNAME –<service-name>.azuremicroservices.io
.Selecione Validar para habilitar o botão Adicionar.
Selecione Adicionar.
Um aplicativo pode ter vários domínios, mas um domínio só pode ser mapeado para um aplicativo. Quando você tiver mapeado com êxito seu domínio personalizado para o aplicativo, ele será recebido na tabela de domínios personalizados.
Observação
Um rótulo Não Seguro para seu domínio personalizado significa que ele ainda não está associado a um certificado SSL. Solicitações HTTPS de um navegador para seu domínio personalizado recebem um erro ou aviso.
Adicionar associação SSL
Use as seguintes etapas para atualizar um domínio personalizado do aplicativo:
Na tabela de domínio personalizado, selecione Adicionar associação SSL conforme mostrado na figura anterior.
Selecione seu certificado ou importe-o.
Selecione Salvar.
Depois de adicionar a associação SSL com êxito, o estado do domínio é seguro: Íntegro.
Impor HTTPS
Por padrão, qualquer pessoa ainda pode acessar seu aplicativo usando HTTP, mas você pode redirecionar todas as solicitações HTTP para a porta HTTPS.
Na sua página do aplicativo, na navegação, selecione Domínio Personalizado. Em seguida, defina Somente HTTPS como Yes
.
Quando a operação estiver concluída, navegue até qualquer uma das URLs HTTPS que aponte para seu aplicativo. Observe que as URLs HTTP não funcionam.