Encaminhe solicitações HTTPS de vários nomes de domínio para diferentes servidores de back-end por meio de um único listener do ALB, usando certificados adicionais e regras de encaminhamento baseadas em domínio.
Cenário de exemplo
O ALB associa o nome de domínio de uma solicitação HTTPS recebida ao certificado apropriado, conclui a autenticação HTTPS e encaminha a solicitação ao servidor de back-end correto com base nas regras de encaminhamento.
Este tópico usa a seguinte configuração como exemplo:
O certificado padrão do listener, chamado
default, está associado ao nome de domínioaliyundoc.com. O grupo de servidores padrão é RS1.Um certificado adicional,
example1, está associado ao nome de domíniowww.example.com. As solicitações parahttps://www.example.comsão encaminhadas ao grupo de servidores RS1.Outro certificado adicional,
example2, está associado ao nome de domíniowww.example.org. As solicitações parahttps://www.example.orgsão encaminhadas ao grupo de servidores RS2.
Pré-requisitos
Crie uma instância de Application Load Balancer (ALB). Para mais informações, consulte Criar e gerenciar instâncias do ALB.
Crie dois grupos de servidores: RS1 e RS2. Para mais informações, consulte Criar e gerenciar grupos de servidores.
Adicione servidores de back-end aos grupos de servidores: uma instância ECS chamada ECS01 ao RS1 e outra chamada ECS02 ao RS2. Implante também seus aplicativos em ambas as instâncias ECS.
Registre seus nomes de domínio e obtenha os registros ICP (Internet Content Provider) correspondentes. Para mais informações, consulte Registrar um nome de domínio no Alibaba Cloud e Processo de registro ICP.
-
Compre ou carregue os certificados necessários no Certificate Management Service e associe-os aos respectivos nomes de domínio. Para mais informações sobre como criar um certificado, consulte Ativar HTTPS para um site usando um certificado comercial. Este tópico requer os seguintes certificados:
Um certificado padrão chamado
defaultassociado ao nome de domínioaliyundoc.com.Um certificado adicional chamado
example1associado ao nome de domíniowww.example.com.Um certificado adicional chamado
example2associado ao nome de domíniowww.example.org.
Etapa 1: Adicionar um listener HTTPS
Faça login no console do Application Load Balancer.
Na barra de navegação superior, selecione a região onde a instância do ALB está implantada.
No painel de navegação à esquerda, selecione Instances.
Na página Instances, localize a instância desejada e clique em Create Listener na coluna Actions.
-
Na página Configure Listener, configure os parâmetros abaixo e mantenha os valores padrão para os demais. Em seguida, clique em Next.
Parameter
Description
Listener Protocol
Selecione HTTPS.
Listener Port
Defina a porta como 443.
-
Na página Configure SSL Certificate, configure o parâmetro a seguir e mantenha os valores padrão para os demais. Depois, clique em Next.
Parameter
Description
Server Certificate
Selecione o certificado padrão preparado, chamado
default. -
Na página Select Server Group, configure o parâmetro abaixo e mantenha os valores padrão para os restantes. Em seguida, clique em Next.
Parameter
Description
Server Group
Selecione o grupo de servidores RS1 criado.
Na página Configuration Review, revise as configurações e clique em Submit.
Etapa 2: Adicionar certificados adicionais
Na página Instances, localize a instância desejada e clique no respectivo ID.
Clique na aba Listener. Localize o listener HTTPS e clique em Manage Certificates na coluna Actions.
Clique na aba Certificates e clique em Add EV Certificate.
Na caixa de diálogo Add Additional Certificate, selecione o certificado
example1e clique em OK. Repita esta etapa para adicionar o certificado adicionalexample2.
Etapa 3: Configurar regras de encaminhamento
Na página Instances, localize a instância desejada e clique no respectivo ID.
Clique na aba Listener. Localize o listener HTTPS e clique em View/Modify Forwarding Rule na coluna Actions.
Na aba Forwarding Rules, clique em Add New Rule.
-
Configure as duas regras de encaminhamento a seguir e clique em OK.
Se o Domain Name for
www.example.com, Forward para RS1. Defina o Weight como 100.Se o Domain Name for
www.example.org, Forward para RS2. Defina o Weight como 100.
Etapa 4: Configurar a resolução de nome de domínio
Adicione registros CNAME para www.example.com e www.example.org apontando para o nome DNS público da sua instância ALB.
Faça login no console do Application Load Balancer.
Na barra de navegação superior, selecione uma região.
Localize a instância ALB desejada e copie seu Domain Name.
-
Siga estas etapas para adicionar um registro CNAME.
NotaSe seus nomes de domínio não estiverem registrados no Alibaba Cloud, adicione-os primeiro ao console do Alibaba Cloud DNS antes de definir as configurações de DNS. Para mais informações, consulte Gerenciamento de domínios. Se o nome de domínio já estiver registrado no Alibaba Cloud, prossiga com as etapas a seguir.
Faça login no console do Alibaba Cloud DNS.
Na página Public Zone, localize o nome de domínio desejado e clique em Settings na coluna Actions.
Na página Settings, clique em Add Record.
-
No painel Add Record, configure os parâmetros abaixo para o registro CNAME e clique em OK.
Parameter
Description
Record Type
Selecione CNAME na lista suspensa.
Hostname
O prefixo do seu nome de domínio, como
www.Query Source
Mantenha o valor padrão.
Record Value
Insira o endereço CNAME do nome de domínio. Trata-se do nome DNS da instância ALB copiada.
TTL
A duração durante a qual um registro DNS fica armazenado em cache no servidor DNS. Mantenha o valor padrão.
NotaNovos registros CNAME entram em vigor imediatamente. O tempo de propagação de um registro CNAME modificado depende do TTL do registro em cache no servidor DNS local. O TTL padrão é de 10 minutos.
Caso ocorra um conflito ao adicionar o registro, use um hostname diferente. Para mais detalhes, consulte Regras de conflito de registros DNS.
Etapa 5: Verificar a configuração
Após concluir a configuração, insira https://www.example.com e https://www.example.org em um navegador para confirmar se as regras de encaminhamento funcionam corretamente. Este exemplo pressupõe que você implantou uma página web estática simples em cada servidor de back-end.
Ao acessar
https://www.example.comno navegador, a solicitação é encaminhada para ECS01 no grupo de servidores RS1. A página exibeHello World ! This is ECS01.Ao acessar
https://www.example.orgno navegador, a solicitação é encaminhada para ECS02 no grupo de servidores RS2. A página exibeHello World ! This is ECS02.
Se o teste falhar, tente limpar o cache do navegador e testar novamente.
Documentos relacionados
Para mais informações sobre regras de encaminhamento, consulte Configurar regras de encaminhamento baseadas em domínio e caminho.