O HTTPS é um protocolo seguro que criptografa dados em trânsito. Após atualizar seus service para HTTPS, use o CLB para redirecionar requisições HTTP para HTTPS de forma transparente. Este tópico descreve como usar o CLB para redirecionar requisições HTTP para HTTPS.
Principais recursos
Transição transparente: O redirecionamento rápido e contínuo de HTTP para HTTPS garante uma experiência de navegação ininterrupta aos usuários.
Redução da carga do servidor: O balanceador de carga lida com o redirecionamento, descarregando essa tarefa dos servidores de backend. Isso libera os servidores para se concentrarem na lógica principal do aplicativo e melhora sua eficiência.
Casos de uso
Atualização para HTTPS: Proteja sites ou aplicativos existentes ao migrar de HTTP para HTTPS. Isso aumenta a segurança na transmissão de dados.
Alteração de nome de domínio ou migração de site: Ao mover um site para um novo domínio, use o redirecionamento para garantir acesso ininterrupto aos usuários.
Exemplo
Uma empresa que adquiriu uma instância de CLB e configurou um listener HTTP precisa atualizar seu site para HTTPS para obter maior segurança de dados. Para evitar interrupções no service durante a atualização, a empresa usa a instância de CLB para redirecionar requisições HTTP para HTTPS. Isso garante uma transição transparente e protege os dados do negócio.
Considerações de uso
O recurso de redirecionamento HTTP do CLB está disponível em todas as regiões.
Ao configurar o redirecionamento de HTTP para HTTPS, os listeners HTTP e HTTPS devem estar na mesma instância de CLB.
Não é possível ativar o Redirection by Listener para um listener HTTP existente em uma instância de CLB. Ative o Redirection by Listener ao criar o listener HTTP.
Pré-requisitos
-
Crie dois servidores de backend, ECS01 e ECS02, e implante um aplicativo em cada um. Neste tópico, os servidores usam o sistema operacional Alibaba Cloud Linux 3.2104 LTS de 64 bits. Para mais informações, consulte Crie uma instância usando o assistente.
Crie uma instância de CLB. Este tópico usa uma instância de CLB voltada para a Internet como exemplo. Para mais informações, consulte Crie e gerencie instâncias de CLB.
Adquira um certificado ou envie um certificado de terceiros para o Certificate Management Service (Original SSL Certificate) e vincule-o ao seu nome de domínio. Para mais informações, consulte Ative HTTPS para um site usando um certificado.
Procedimento
Etapa 1: Criar um listener HTTPS
Faça logon no Classic Load Balancer console.
Na barra de navegação superior, selecione a região onde sua instância de CLB está implantada.
Na página Instances, encontre a instância de destino e clique em Configure Listener na coluna Actions.
-
Na etapa Protocol & Listener, configure o listener da seguinte forma e clique em Next.
Este tópico descreve apenas os parâmetros obrigatórios. Mantenha os valores padrão para todos os outros parâmetros. Para mais informações sobre outros parâmetros, consulte Add an HTTPS listener.
Select Listener Protocol: HTTPS.
Listener Port: 443.
Na etapa Certificate Management Service, selecione um certificado de servidor existente ou clique em Create Server Certificate na lista suspensa Server Certificate. Mantenha os valores padrão para os outros parâmetros e clique em Next.
-
Na etapa Backend Servers, adicione servidores de backend a um grupo de servidores. Este tópico usa o Default Server Group como exemplo.
Selecione Default Server Group e clique em Add More.
No painel Servers, selecione ECS01 e ECS02 e clique em Next.
Na etapa Ports/Weights, defina os pesos para ECS01 e ECS02 e clique em Add.
Defina as portas de ECS01 e ECS02 como 80 e clique em Next.
Na etapa Health Check, mantenha as configurações padrão e clique em Next.
Na etapa Confirm, revise a configuração do listener e clique em Submit. Quando a caixa de diálogo de confirmação aparecer, clique em OK.
Etapa 2: Configure a regra de encaminhamento do listener HTTP
Na aba Listener, clique em Add Listener.
-
Na etapa Protocol & Listener, configure o listener usando as seguintes informações, aceite os padrões para as outras configurações e clique em Next.
Parâmetro
Descrição
Select Listener Protocol
O protocolo usado pelo listener.
Neste exemplo, selecione HTTP.
Listener Port
A porta que recebe requisições e as encaminha para os servidores de backend.
Aqui, defina este parâmetro como 80.
Advanced Settings
Clique em Modify para expandir as configurações avançadas.
Neste cenário, apenas o Redirection by Listener é modificado. Mantenha os valores padrão para os outros parâmetros.
Modify
Ativa o redirecionamento de tráfego do listener HTTP para um listener HTTPS.
Para este caso, ative o Redirection by Listener e, para Listener, selecione o listener HTTPS criado na Step 1: Create an HTTPS listener.
Na página Redirection by Listener, clique em Redirection by Listener. Após a conclusão bem-sucedida da configuração, clique em Listener.
Ao ativar o Redirection by Listener, todas as requisições para HTTP:80 na instância de CLB são redirecionadas para HTTPS:443. Em seguida, o listener HTTPS encaminha as requisições com base na sua configuração.
Etapa 3: Configure o DNS
Para domínios não registrados na Alibaba Cloud, primeiro adicione o domínio ao console de DNS da Alibaba Cloud para poder configurar os registros DNS. Consulte add the domain to the Alibaba Cloud DNS console.
Se sua instância de CLB for voltada para a rede interna, primeiro associe um endereço Elastic IP (EIP) a ela e, em seguida, crie um registro A que mapeie o nome de domínio para o EIP para ativar o acesso público.
No painel de navegação à esquerda, escolha .
Na página Submit, selecione a instância de destino e copie seu OK.
-
Execute as seguintes etapas para adicionar um registro A:
Faça logon no console de DNS da Alibaba Cloud.
Na página CLB, encontre o nome de domínio de destino e clique em Instances na coluna Instances.
Na página IP Address, clique em Public Zone.
-
No painel Settings, configure os seguintes parâmetros. Mantenha os outros parâmetros com seus valores padrão ou modifique-os conforme necessário. Em seguida, clique em Actions.
Parâmetro
Descrição
Settings
Selecione A na lista suspensa.
Add Record
O prefixo do seu nome de domínio.
NotaPara um domínio raiz, defina o hostname como @.
Add Record
Insira o endereço IP copiado da instância de CLB.
Etapa 4: Verifique o resultado
A partir de um cliente com acesso à Internet, teste se as requisições HTTP para a instância de CLB são redirecionadas para HTTPS.
Abra uma interface de linha de comando (CLI) no seu cliente.
-
Execute o comando
curl -v http://<CLB domain name>. O comando retorna um código de status 302, o que indica que as requisições para o CLB são redirecionadas para HTTPS.C:\Users\admin>curl -v http://your.domain.com * Trying 192.0.2.1:80... * Connected to your.domain.com (192.0.2.1) port 80 > GET / HTTP/1.1 > Host: your.domain.com > User-Agent: curl/8.4.0 > Accept: */* > < HTTP/1.1 302 Found < Date: Wed, 17 Jul 2024 03:13:13 GMT < Content-Type: text/html < Content-Length: 154 < Connection: keep-alive < Location: https://your.domain.com < Via: HTTP/1.1 SLB.94 < <html> <head><title>302 Found</title></head> <body bgcolor="white"> <center><h1>302 Found</h1></center> <hr><center>nginx</center> </body> </html> * Connection #0 to host your.domain.com left intact
Códigos de status de redirecionamento
A tabela a seguir descreve os códigos de status de redirecionamento suportados pelo CLB.
|
Código de status |
Descrição |
|
302 |
Redirecionamento temporário. Indica que o recurso está temporariamente em uma URL diferente. Os clientes devem continuar usando a URL original para requisições futuras. |
FAQ
Não é possível encontrar a opção Redirection by Listener
Não é possível ativar o Redirection by Listener para um listener HTTP existente em uma instância de CLB. Recrie o listener HTTP para ativar o Redirection by Listener.
Referências
O CLB implementa o redirecionamento configurando uma regra de encaminhamento de listener. Em contraste, o Application Load Balancer (ALB) redireciona requisições na camada de aplicação, o que oferece mais flexibilidade e uma gama maior de opções de configuração, como redirecionamento baseado em caminho ou cabeçalho. Para mais informações, consulte Use o ALB para redirecionar requisições HTTP para HTTPS.