Os listeners HTTPS terminam o SSL/TLS na instância CLB, descriptografam as solicitações recebidas e as encaminham como HTTP para os servidores de backend. Isso remove a sobrecarga de criptografia dos servidores de backend e centraliza o gerenciamento de certificados.
Pré-requisitos
Certifique-se de ter:
Uma instância CLB
Um certificado de servidor no formato PEM. Envie um certificado existente ou crie um durante a Etapa 2 do assistente. Create a certificate.
(Opcional) Servidores de backend implantados e acessíveis por HTTP (geralmente na porta 80) para encaminhamento de tráfego
(Opcional) Uma network ACL para controle de acesso
Limitações
Os listeners HTTPS usam HTTP como protocolo de backend. Defina as portas dos servidores de backend para HTTP (geralmente 80), e não para HTTPS (443).
Os listeners HTTPS não oferecem suporte ao redirecionamento de HTTP para HTTPS.
Os listeners HTTPS não oferecem suporte a grupos de servidores principal/secundário.
Instâncias CLB na região do México não oferecem suporte a listeners HTTPS. Use 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 configurações do listener
Acesse o console do 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 de destino e abra a configuração do listener usando um dos seguintes métodos:
Clique em Configure Listener na coluna Actions.
Clique em ID da instância e, em seguida, clique em Add Listener na aba Listener.
Na etapa Protocol & Listener, configure as seguintes opções e clique em Next.
Configurações básicas
|
Parâmetro |
Descrição |
|
Select Listener Protocol |
Selecione HTTPS. |
|
Backend Protocol |
Fixo como HTTP. Não pode ser alterado. |
|
Listener Port |
Porta para receber e encaminhar solicitações. Valores válidos: 1 a 65535. A porta 443 é recomendada. |
|
Tags |
Selecione ou insira uma Tag Key e uma 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 |
O algoritmo usado para distribuir solicitações para os 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 obter mais informações, consulte SLB scheduling algorithms. |
|
Session Persistence |
Desativado por padrão. Quando ativada, 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 usa 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 se aplica 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 para 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 mais longos (até 3.600 segundos), use ALB. |
|
GZIP Compression |
Ativado por padrão. Compacta respostas para estes 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 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 na ACL são negadas. Uma lista de bloqueios vazia encaminha todas as solicitações. Nota
Instâncias IPv6 suportam apenas ACLs IPv6; instâncias IPv4 suportam apenas ACLs IPv4. Create a network ACL. |
|
Bandwidth Throttling for Listeners |
Desativado por padrão. Para instâncias CLB com cobrança 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 listener torna os outros listeners inacessíveis. O mesmo se aplica a instâncias CLB de rede interna. Instâncias com cobrança por transferência de dados não têm limite de largura de banda por padrão. Enable bandwidth sharing among listeners of a CLB instance. |
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 do cliente nas solicitações encaminhadas. |
Etapa 2: Configure o certificado SSL
Na etapa Certificate Management Service, selecione um Server Certificate enviado ou clique em Create Server Certificate para enviar um. Você também pode comprar certificados. Create a certificate.
-
(Opcional) Clique em Modify ao lado de Advanced Settings e configure a autenticação mútua ou uma política de segurança TLS.
Ative a Mutual Authentication e selecione um certificado CA enviado, ou crie um. Purchase and enable a private CA.
-
Selecione uma TLS Security Policy.
NotaAs políticas de segurança TLS são suportadas apenas por instâncias CLB de alto desempenho e especificam as versões TLS e os conjuntos de criptografia permitidos. TLS security policies.
Etapa 3: Adicionar servidores de backend
Após criar o listener, adicione servidores de backend para lidar com as solicitações. Use o grupo de servidores padrão ou crie um grupo vServer. CLB server groups.
Os listeners HTTPS não oferecem suporte a grupos de servidores principal/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 para cada servidor de backend.
O peso padrão é 100. Servidores com pesos maiores recebem mais solicitações. Defina o peso como 0 para interromper todo o tráfego para esse servidor.
-
Clique em Add. Especifique a porta usada por cada servidor de backend para receber solicitações. Valores válidos: 1 a 65535.
Vários servidores de backend na mesma instância CLB podem usar 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 íntegros.
As verificações de integridade não podem ser desativadas para listeners associados a grupos de servidores principal/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. Configure and manage CLB health checks.
Na etapa Confirm, revise a configuração do listener. Clique em Modify para alterar quaisquer configurações.
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ê usou a porta 443, acessehttps://<CLB-instance-IP>.Verifique se o conteúdo esperado é retornado pelos seus servidores de backend. Se você usou um certificado autoassinado, aceite o aviso de segurança do navegador para continuar.
-
Se a página não carregar, verifique o seguinte:
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 são aprovadas para pelo menos um servidor de backend.
Perguntas frequentes
O CLB oferece suporte a HTTPS de ponta a ponta?
Não. O CLB descriptografa o HTTPS no listener e encaminha as solicitações para os servidores de backend via HTTP, simplificando a configuração do backend e eliminando a sobrecarga do TLS.
Para HTTPS de ponta a ponta, use uma destas alternativas:
Crie uma instância ALB com um listener HTTPS. Configure end-to-end HTTPS encryption.
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 há restrições de porta, mas a porta 443 é recomendada como a porta HTTPS padrão.
Quais formatos de certificado o CLB suporta?
O CLB suporta certificados de servidor e certificados CA no formato PEM. Os certificados de servidor exigem tanto o certificado quanto a chave privada. Os certificados CA exigem apenas o certificado.
O CLB oferece suporte a certificados criados com keytool?
Sim, mas converta para o formato PEM e envie. Convert certificate formats.
Posso usar certificados PKCS#12 (PFX)?
Sim. Converta para o formato PEM e envie. Convert certificate formats.
Por que o erro KeyEncryption ocorre ao enviar certificados?
A chave privada contém conteúdo inválido. Certificate requirements and format conversion.
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 enviar um certificado com DH PARAMETERS?
Não. Os listeners HTTPS do CLB usam conjuntos de criptografia ECDHE e não oferecem suporte a parâmetros DHE. Certificados contendo o campo BEGIN DH PARAMETERS não podem ser enviados.
Os listeners HTTPS oferecem suporte a SNI?
Sim. O SNI permite vários certificados SSL no mesmo endereço IP. Add and manage additional domain names.
O CLB oferece suporte a WebSocket Secure?
Sim. Os listeners HTTPS do CLB oferecem suporte a WSS por padrão. Use WebSocket to enable real-time messaging.
Como configuro o redirecionamento de HTTP para HTTPS?
Crie primeiro um listener HTTPS. Em seguida, crie um listener HTTP e ative o Redirection by Listener no listener HTTP. Redirect HTTP requests to HTTPS using CLB.
Referências
Para tráfego não criptografado (redes internas, staging ou desenvolvimento), use HTTP listeners. Use HTTPS em ambientes de produção que transmitem dados sensíveis.
-
Gerenciamento de servidores de backend:
Verificações de integridade: CLB health checks overview | Configure and manage CLB health checks
Algoritmos de agendamento: SLB scheduling algorithms
Regras de encaminhamento: Forward requests based on domain names or URLs
Redirecionamento de HTTP para HTTPS: Redirect HTTP requests to HTTPS using CLB
Autenticação unidirecional: Configure one-way authentication for HTTPS requests
Autenticação mútua: Configure mutual authentication on an HTTPS listener
Vários domínios HTTPS: Configure a CLB instance to serve multiple domain names over HTTPS
Preservação do IP do cliente: Preserve client IP addresses for Layer 7 listeners