Os listeners HTTPS finalizam SSL/TLS na instância CLB, descriptografam as solicitações recebidas e as encaminham como HTTP para os servidores de backend. Esse processo transfere a carga de criptografia dos servidores de backend e centraliza o gerenciamento de certificados.
Pré-requisitos
Verifique se você possui:
Uma instância CLB
Um certificado de servidor no formato PEM. Faça upload de um certificado existente ou crie um durante a Etapa 2 do assistente. Criar um certificado.
(Opcional) Servidores de backend implantados e acessíveis via HTTP (geralmente na porta 80) para encaminhamento de tráfego
(Opcional) Uma ACL de rede para controle de acesso
Limitações
Listeners HTTPS utilizam HTTP como protocolo de backend. Defina as portas dos servidores de backend como HTTP (normalmente 80), e não HTTPS (443).
Listeners HTTPS não suportam redirecionamento de HTTP para HTTPS.
Listeners HTTPS não suportam grupos de servidores primário/secundário.
Instâncias CLB na região do México não aceitam listeners HTTPS. Utilize o Application Load Balancer (ALB) ou crie instâncias CLB em outra região.
O tempo limite do ticket de sessão TLS é de 300 segundos.
A transferência real de dados excede o valor faturado devido à sobrecarga do handshake TLS. Essa diferença aumenta conforme o número de novas conexões.
Procedimento
Etapa 1: Configure o protocolo e as definições do listener
Faça login no console CLB.
Na barra de navegação superior, selecione a região onde a instância CLB está implantada.
-
Na página Instances, localize a instância CLB desejada e abra a configuração do listener usando um dos métodos abaixo:
Clique em Configure Listener na coluna Actions.
Clique no ID da instância e, em seguida, clique em Add Listener na aba Listener.
Na etapa Protocol & Listener, defina as configurações a seguir e clique em Next.
Configurações básicas
|
Parâmetro |
Descrição |
|
Select Listener Protocol |
Selecione HTTPS. |
|
Backend Protocol |
Fixo em HTTP. Não pode ser alterado. |
|
Listener Port |
Porta para receber e encaminhar solicitações. Valores válidos: 1 a 65535. Recomenda-se a porta 443. |
|
Tags |
Selecione ou insira uma Tag Key e um Tag Value. |
Configurações avançadas
Clique em Modify ao lado de Advanced Settings para expandir as opções adicionais.
|
Parâmetro |
Descrição |
|
Scheduling Algorithm |
Algoritmo utilizado para distribuir solicitações aos servidores de backend. Padrão: Round Robin. Opções: Weighted Round-robin -- servidores de backend com pesos maiores recebem mais solicitações. Round Robin -- as solicitações são distribuídas sequencialmente. Para mais detalhes, consulte Algoritmos de agendamento do SLB. |
|
Session Persistence |
Desativado por padrão. Quando ativado, todas as solicitações do mesmo cliente são encaminhadas para o mesmo servidor de backend. Selecione uma Cookie Option: Insert Cookie -- o CLB insere um cookie (SERVERID) na primeira resposta. Especifique um Session Persistence Timeout Period. Rewrite Cookie -- o CLB utiliza um cookie definido por você. Especifique um Cookie Name. Configure o período de tempo limite e a vida útil no servidor de backend. |
|
Enable HTTP/2 |
Ativado por padrão. O HTTP/2 multiplexa solicitações em uma única conexão TCP, reduzindo a latência. |
|
Idle Connection Timeout Period |
Tempo máximo de ociosidade para a conexão entre o CLB e o cliente. Valores válidos: 1 a 60 segundos. Padrão: 15 segundos. O CLB fecha conexões ociosas após esse período. Nota
Esse tempo limite aplica-se a todos os grupos de servidores associados ao listener. Para definir um tempo limite diferente para um servidor de backend específico, crie um listener separado. |
|
Connection Request Timeout |
Tempo máximo de espera por uma resposta do backend. O CLB retorna HTTP 504 se nenhuma resposta for recebida. Valores válidos: 1 a 180 segundos. Padrão: 60 segundos. Para tempos limite maiores (até 3.600 segundos), use o ALB. |
|
GZIP Compression |
Ativado por padrão. Comprime respostas para os seguintes tipos de conteúdo: |
|
Automatically Enable Listener |
Ativado por padrão. O listener começa a processar o tráfego imediatamente. |
Configurações de controle de acesso
|
Parâmetro |
Descrição |
|
Access Control |
Desativado por padrão. Quando ativado, selecione um método de controle de acesso e uma ACL: Whitelist: Allows Specified IP Addresses to Access the SLB Instance -- apenas solicitações de endereços IP ou blocos CIDR presentes na ACL são encaminhadas. Uma lista de permissões vazia encaminha todas as solicitações. Cuidado: entradas incorretas na lista de permissões podem bloquear tráfego legítimo. Blacklist: Forbids Specified IP Addresses to Access the SLB Instance -- solicitações de endereços IP ou blocos CIDR listados na ACL são negadas. Uma lista de bloqueios vazia encaminha todas as solicitações. Nota
Instâncias IPv6 aceitam apenas ACLs IPv6; instâncias IPv4 aceitam apenas ACLs IPv4. Criar uma ACL de rede. |
|
Bandwidth Throttling for Listeners |
Desativado por padrão. Para instâncias CLB com pagamento por largura de banda, defina uma largura de banda máxima por listener. A largura de banda total alocada não pode exceder a largura de banda da instância. Importante
Alocar toda a largura de banda para um único listener torna os demais inacessíveis. O mesmo se aplica a instâncias CLB voltadas para a rede interna. Instâncias com pagamento por transferência de dados não possuem limite de largura de banda por padrão. Ativar compartilhamento de largura de banda entre listeners de uma instância CLB. |
Cabeçalhos HTTP personalizados
|
Parâmetro |
Descrição |
|
Custom HTTP Header |
Selecione os cabeçalhos a serem adicionados às solicitações encaminhadas: Adicione o cabeçalho Adicione o cabeçalho |
|
Obtain Client Source IP Address |
Ativado por padrão. Preserva os endereços IP dos clientes nas solicitações encaminhadas. |
Etapa 2: Configure o certificado SSL
Na etapa Certificate Management Service, selecione um Server Certificate já enviado ou clique em Create Server Certificate para fazer upload de um novo. Também é possível adquirir certificados. Criar um certificado.
-
(Opcional) Clique em Modify ao lado de Advanced Settings para configurar autenticação mútua ou uma política de segurança TLS.
Ative a Mutual Authentication e selecione um certificado CA enviado anteriormente ou crie um novo. Adquirir e ativar uma CA privada.
-
Selecione uma TLS Security Policy.
NotaPolíticas de segurança TLS são suportadas apenas por instâncias CLB de alto desempenho e especificam as versões TLS e conjuntos de cifras permitidos. Políticas de segurança TLS.
Etapa 3: Adicionar servidores de backend
Após criar o listener, adicione servidores de backend para processar as solicitações. Utilize o grupo de servidores padrão ou crie um grupo vServer. Grupos de servidores CLB.
Listeners HTTPS não suportam grupos de servidores primário/secundário.
Na etapa Backend Servers, selecione Default Server Group e clique em Add More.
Na etapa Servers, selecione os servidores de backend a serem adicionados e clique em Next.
-
Na etapa Ports/Weights, configure o peso de cada servidor de backend.
O peso padrão é 100. Servidores com pesos maiores recebem mais solicitações. Definir o peso como 0 interrompe todo o tráfego para esse servidor.
-
Clique em Add. Especifique a porta que cada servidor de backend usará para receber solicitações. Valores válidos: 1 a 65535.
Vários servidores de backend na mesma instância CLB podem utilizar a mesma porta.
Etapa 4: Configure verificações de integridade e confirme
As verificações de integridade do CLB monitoram a disponibilidade dos servidores de backend e desviam o tráfego de servidores não saudáveis.
Não é possível desativar verificações de integridade para listeners associados a grupos de servidores primário/secundário.
(Opcional) Na etapa Health Check, clique em Modify para ajustar as configurações de verificação de integridade e, em seguida, clique em Next. Configurar e gerenciar verificações de integridade do CLB.
Na etapa Confirm, revise a configuração do listener. Clique em Modify para alterar qualquer configuração.
Clique em Submit. Na mensagem Configuration Successful, clique em OK.
O novo listener aparece na aba Listener da página de detalhes da instância.
Verifique o listener HTTPS
Após criar o listener, verifique se o tráfego HTTPS está sendo tratado corretamente:
Na aba Listener, confirme se o status do listener é Running.
Abra um navegador e acesse
https://<CLB-instance-IP>:<listener-port>. Se você utilizou a porta 443, acessehttps://<CLB-instance-IP>.Verifique se o conteúdo esperado é retornado pelos seus servidores de backend. Caso tenha usado um certificado autoassinado, aceite o aviso de segurança do navegador para continuar.
-
Se a página não carregar, verifique os itens a seguir:
O servidor de backend está em execução e escutando na porta HTTP configurada.
As regras do grupo de segurança permitem tráfego de entrada na porta do listener.
O certificado do servidor é válido e corresponde ao nome de domínio.
As verificações de integridade estão sendo aprovadas para pelo menos um servidor de backend.
Perguntas frequentes
O CLB suporta HTTPS de ponta a ponta?
Não. O CLB descriptografa o HTTPS no listener e encaminha as solicitações aos servidores de backend via HTTP, simplificando a configuração do backend e eliminando a sobrecarga de TLS.
Para HTTPS de ponta a ponta, utilize uma das alternativas abaixo:
Crie uma instância ALB com um listener HTTPS. Configurar criptografia HTTPS de ponta a ponta.
Configure um listener TCP na instância CLB e instale certificados SSL diretamente nos seus servidores de backend.
Qual porta os listeners HTTPS devem usar?
Não existem restrições de porta, mas recomenda-se a porta 443 como padrão para HTTPS.
Quais formatos de certificado o CLB suporta?
O CLB aceita certificados de servidor e certificados CA no formato PEM. Certificados de servidor exigem tanto o certificado quanto a chave privada. Certificados CA requerem apenas o certificado.
O CLB suporta certificados criados com keytool?
Sim, mas converta para o formato PEM antes de fazer o upload. Converter formatos de certificado.
Posso usar certificados PKCS#12 (PFX)?
Sim. Converta para o formato PEM antes de fazer o upload. Converter formatos de certificado.
Por que o erro KeyEncryption ocorre ao fazer upload de certificados?
A chave privada contém conteúdo inválido. Requisitos de certificado e conversão de formato.
Quais versões do protocolo TLS os listeners HTTPS suportam?
Os listeners HTTPS suportam TLSv1.0, TLSv1.1, TLSv1.2 e TLSv1.3.
Qual é o TTL de um ticket de sessão HTTPS?
300 segundos.
Posso fazer upload de um certificado com DH PARAMETERS?
Não. Os listeners HTTPS do CLB usam conjuntos de cifras ECDHE e não suportam parâmetros DHE. Certificados contendo o campo BEGIN DH PARAMETERS não podem ser enviados.
Os listeners HTTPS suportam SNI?
Sim. O SNI permite múltiplos certificados SSL no mesmo endereço IP. Adicionar e gerenciar nomes de domínio adicionais.
O CLB suporta WebSocket Secure?
Sim. Os listeners HTTPS do CLB suportam WSS por padrão. Usar WebSocket para habilitar mensagens em tempo real.
Como configuro o redirecionamento de HTTP para HTTPS?
Crie primeiro um listener HTTPS. Em seguida, crie um listener HTTP e ative a opção Redirection by Listener no listener HTTP. Redirecionar solicitações HTTP para HTTPS usando o CLB.
Referências
Para tráfego não criptografado (redes internas, staging ou desenvolvimento), utilize listeners HTTP. Use HTTPS em ambientes de produção que transmitem dados sensíveis.
-
Gerenciamento de servidores de backend:
Verificações de integridade: Visão geral das verificações de integridade do CLB | Configurar e gerenciar verificações de integridade do CLB
Algoritmos de agendamento: Algoritmos de agendamento do SLB
Regras de encaminhamento: Encaminhar solicitações com base em nomes de domínio ou URLs
Redirecionamento de HTTP para HTTPS: Redirecionar solicitações HTTP para HTTPS usando o CLB
Autenticação unidirecional: Configurar autenticação unidirecional para solicitações HTTPS
Autenticação mútua: Configurar autenticação mútua em um listener HTTPS
Múltiplos domínios HTTPS: Configurar uma instância CLB para atender múltiplos nomes de domínio via HTTPS
Preservação de IP do cliente: Preservar endereços IP do cliente para listeners da Camada 7